{"version":3,"file":"switch.condition-AelUFTQk.js","sources":["../../../src/packages/core/extension-registry/conditions/condition-base.controller.ts","../../../src/packages/core/extension-registry/conditions/switch.condition.ts"],"sourcesContent":["import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';\r\nimport type { UmbConditionConfigBase, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api';\r\n\r\nexport class UmbConditionBase\r\n\textends UmbControllerBase\r\n\timplements UmbExtensionCondition\r\n{\r\n\tpublic readonly config: ConditionConfigType;\r\n\t#permitted = false;\r\n\tpublic get permitted() {\r\n\t\treturn this.#permitted;\r\n\t}\r\n\tpublic set permitted(value) {\r\n\t\tif (value === this.#permitted) return;\r\n\t\tthis.#permitted = value;\r\n\t\tthis.#onChange();\r\n\t}\r\n\t#onChange: () => void;\r\n\r\n\tconstructor(host: UmbControllerHost, args: { config: ConditionConfigType; onChange: () => void }) {\r\n\t\tsuper(host);\r\n\t\tthis.config = args.config;\r\n\t\tthis.#onChange = args.onChange;\r\n\t}\r\n\r\n\toverride destroy() {\r\n\t\tsuper.destroy();\r\n\t\t(this.config as unknown) = undefined;\r\n\t\t(this.#onChange as unknown) = undefined;\r\n\t}\r\n}\r\n","import { UmbConditionBase } from './condition-base.controller.js';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport type {\r\n\tManifestCondition,\r\n\tUmbConditionConfigBase,\r\n\tUmbConditionControllerArguments,\r\n\tUmbExtensionCondition,\r\n} from '@umbraco-cms/backoffice/extension-api';\r\n\r\nexport class UmbSwitchCondition extends UmbConditionBase implements UmbExtensionCondition {\r\n\t#timer?: ReturnType;\r\n\r\n\tconstructor(host: UmbControllerHost, args: UmbConditionControllerArguments) {\r\n\t\tsuper(host, args);\r\n\t\tthis.startApprove();\r\n\t}\r\n\r\n\tstartApprove() {\r\n\t\tclearTimeout(this.#timer);\r\n\t\tthis.#timer = setTimeout(() => {\r\n\t\t\tthis.permitted = true;\r\n\t\t\tthis.startDisapprove();\r\n\t\t}, parseInt(this.config.frequency));\r\n\t}\r\n\r\n\tstartDisapprove() {\r\n\t\tclearTimeout(this.#timer);\r\n\t\tthis.#timer = setTimeout(() => {\r\n\t\t\tthis.permitted = false;\r\n\t\t\tthis.startApprove();\r\n\t\t}, parseInt(this.config.frequency));\r\n\t}\r\n\r\n\toverride destroy() {\r\n\t\tclearTimeout(this.#timer);\r\n\t\tsuper.destroy();\r\n\t}\r\n}\r\n\r\nexport const manifest: ManifestCondition = {\r\n\ttype: 'condition',\r\n\tname: 'Switch Condition',\r\n\talias: 'Umb.Condition.Switch',\r\n\tapi: UmbSwitchCondition,\r\n};\r\n\r\nexport type SwitchConditionConfig = UmbConditionConfigBase<'Umb.Condition.Switch'> & {\r\n\tfrequency: string;\r\n};\r\n"],"names":["UmbConditionBase","UmbControllerBase","#permitted","value","#onChange","host","args","UmbSwitchCondition","#timer","manifest"],"mappings":";AAIO,MAAMA,UACJC,EAET;AAAA,EAECC,KAAa;AAAA,EACb,IAAW,YAAY;AACtB,WAAO,KAAKA;AAAA,EAAA;AAAA,EAEb,IAAW,UAAUC,GAAO;AACvB,IAAAA,MAAU,KAAKD,OACnB,KAAKA,KAAaC,GAClB,KAAKC,GAAU;AAAA,EAAA;AAAA,EAEhBA;AAAA,EAEA,YAAYC,GAAyBC,GAA6D;AACjG,UAAMD,CAAI,GACV,KAAK,SAASC,EAAK,QACnB,KAAKF,KAAYE,EAAK;AAAA,EAAA;AAAA,EAGd,UAAU;AAClB,UAAM,QAAQ,GACb,KAAK,SAAqB,QAC1B,KAAKF,KAAwB;AAAA,EAAA;AAEhC;ACtBO,MAAMG,UAA2BP,EAAyE;AAAA,EAChHQ;AAAA,EAEA,YAAYH,GAAyBC,GAA8D;AAClG,UAAMD,GAAMC,CAAI,GAChB,KAAK,aAAa;AAAA,EAAA;AAAA,EAGnB,eAAe;AACd,iBAAa,KAAKE,EAAM,GACnB,KAAAA,KAAS,WAAW,MAAM;AAC9B,WAAK,YAAY,IACjB,KAAK,gBAAgB;AAAA,IACnB,GAAA,SAAS,KAAK,OAAO,SAAS,CAAC;AAAA,EAAA;AAAA,EAGnC,kBAAkB;AACjB,iBAAa,KAAKA,EAAM,GACnB,KAAAA,KAAS,WAAW,MAAM;AAC9B,WAAK,YAAY,IACjB,KAAK,aAAa;AAAA,IAChB,GAAA,SAAS,KAAK,OAAO,SAAS,CAAC;AAAA,EAAA;AAAA,EAG1B,UAAU;AAClB,iBAAa,KAAKA,EAAM,GACxB,MAAM,QAAQ;AAAA,EAAA;AAEhB;AAEO,MAAMC,IAA8B;AAAA,EAC1C,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAKF;AACN;"}