{"version":3,"file":"accessPrivilegesMixin-B2OlySz7.js","sources":["../../src/mixins/accessPrivilegesMixin.vue"],"sourcesContent":["<script>\nexport default {\n  computed: {\n    hasAvailabilityStatusOnlyPermission() {\n      return this.$fischer.shop.hasAvailabilityStatusOnlyPermission();\n    },\n  },\n  methods: {\n    getPrivileges(\n      sitecorePrivileges,\n      customerPrivileges,\n      withLabel,\n      ignoreMandatory,\n      noShopAccess,\n    ) {\n      if (!sitecorePrivileges) {\n        return null;\n      }\n\n      if (withLabel) {\n        return sitecorePrivileges.map((el) => ({\n          headline: el.headline,\n          privileges: this.loopPrivileges(\n            el.privileges,\n            customerPrivileges,\n            ignoreMandatory,\n            noShopAccess,\n          ),\n        }));\n      }\n\n      return this.loopPrivileges(\n        sitecorePrivileges,\n        customerPrivileges,\n        ignoreMandatory,\n        noShopAccess,\n      );\n    },\n    loopPrivileges(\n      privilegesData,\n      customerPrivileges,\n      ignoreMandatory,\n      noShopAccess,\n      parentSelected,\n    ) {\n      if (!privilegesData) {\n        return null;\n      }\n\n      return privilegesData.map((accessPrivilege) => {\n        const mandatory = !ignoreMandatory && accessPrivilege.Mandatory;\n        let selected = mandatory;\n        let disabled = parentSelected || mandatory;\n\n        // disable shop privilege if not authorized\n        if (!accessPrivilege.Global && noShopAccess) {\n          selected = false;\n          disabled = true;\n        }\n\n        if (!mandatory && customerPrivileges) {\n          selected = customerPrivileges.some(\n            (userAccessPrivilege) => accessPrivilege.Value === userAccessPrivilege.uid,\n          );\n        }\n\n        return {\n          name: accessPrivilege.Title,\n          value: accessPrivilege.Value,\n          disabled: disabled,\n          selected,\n          subGroups: this.loopPrivileges(\n            accessPrivilege.Subgroups,\n            customerPrivileges,\n            ignoreMandatory,\n            noShopAccess,\n            selected,\n          ),\n        };\n      });\n    },\n    hasActivePrivilege(privileges) {\n      if (!privileges) {\n        return false;\n      }\n\n      return privileges.some((item) => item.selected || this.hasActivePrivilege(item.subGroups));\n    },\n  },\n};\n</script>\n"],"names":["_sfc_main","sitecorePrivileges","customerPrivileges","withLabel","ignoreMandatory","noShopAccess","el","privilegesData","parentSelected","accessPrivilege","mandatory","selected","disabled","userAccessPrivilege","privileges","item"],"mappings":"AACK,MAAAA,EAAU,CACb,SAAU,CACR,qCAAsC,CACpC,OAAO,KAAK,SAAS,KAAK,oCAAmC,CAC9D,CACF,EACD,QAAS,CACP,cACEC,EACAC,EACAC,EACAC,EACAC,EACA,CACA,OAAKJ,EAIDE,EACKF,EAAmB,IAAKK,IAAQ,CACrC,SAAUA,EAAG,SACb,WAAY,KAAK,eACfA,EAAG,WACHJ,EACAE,EACAC,CACD,CACF,EAAC,EAGG,KAAK,eACVJ,EACAC,EACAE,EACAC,GAnBO,IAqBV,EACD,eACEE,EACAL,EACAE,EACAC,EACAG,EACA,CACA,OAAKD,EAIEA,EAAe,IAAKE,GAAoB,CAC7C,MAAMC,EAAY,CAACN,GAAmBK,EAAgB,UACtD,IAAIE,EAAWD,EACXE,EAAWJ,GAAkBE,EAGjC,MAAI,CAACD,EAAgB,QAAUJ,IAC7BM,EAAW,GACXC,EAAW,IAGT,CAACF,GAAaR,IAChBS,EAAWT,EAAmB,KAC3BW,GAAwBJ,EAAgB,QAAUI,EAAoB,MAIpE,CACL,KAAMJ,EAAgB,MACtB,MAAOA,EAAgB,MACvB,SAAUG,EACV,SAAAD,EACA,UAAW,KAAK,eACdF,EAAgB,UAChBP,EACAE,EACAC,EACAM,CACD,EAEL,CAAC,EAjCQ,IAkCV,EACD,mBAAmBG,EAAY,CAC7B,OAAKA,EAIEA,EAAW,KAAMC,GAASA,EAAK,UAAY,KAAK,mBAAmBA,EAAK,SAAS,CAAC,EAHhF,EAIV,CACF,CACH"}