{"version":3,"sources":["Themes/Default/Content/ts/Shared/BootstrapAlerts/AlertBase.ts"],"names":[],"mappings":";;;IAiBA;QAQI,mBAAY,MAAc;YAA1B,iBAyBC;YAxBG,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,IAAI,IAAI,MAAM,CAAC,kBAAkB,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,EAAE;gBAC9I,MAAM,IAAI,KAAK,CAAC,mGAAmG,CAAC,CAAC;aACxH;YAGD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YACpD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,IAAI,MAAM,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;YAGjI,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC;gBACpC,IAAI,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;gBAE9B,IAAI,KAAI,CAAC,kBAAkB,EAAE;oBACzB,MAAM,GAAG,CAAC;4BACN,KAAK,EAAE,CAAC;4BACR,SAAS,EAAE,KAAI,CAAC,kBAAkB;yBACrC,CAAC,CAAC;oBAEH,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;iBAC1B;gBAED,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACP,CAAC;QACL,gBAAC;IAAD,CAlCA,AAkCC,IAAA;;IAED,IAAM,yBAAyB,GAAG,oBAAoB,CAAC;IACvD,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACpD,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,yBAAyB,EAAE;QAC9C,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,EAAE,OAAO,EAAE,8EAAuE,yBAAyB,UAAO,EAAE;KACjI,CAAC,CAAC;IAEH,IAAM,yBAAyB,GAAG,oBAAoB,CAAC;IACvD,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACpD,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,yBAAyB,EAAE;QAC9C,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,EAAE,OAAO,EAAE,8EAAuE,yBAAyB,UAAO,EAAE;KACjI,CAAC,CAAC;IAEH,IAAM,wBAAwB,GAAG,mBAAmB,CAAC;IACrD,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACnD,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,wBAAwB,EAAE;QAC7C,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,EAAE,OAAO,EAAE,6EAAsE,wBAAwB,UAAO,EAAE;KAC/H,CAAC,CAAC","file":"AlertBase.js","sourcesContent":["import * as ko from \"knockout\";\r\nimport * as _ from \"underscore\";\r\n\r\n// Helpers\r\nimport \"fontAwesomeBindings\";\r\nimport \"knockoutCustomBindings\";\r\n\r\n// Models\r\nimport { AlertStructure } from \"Content/ts/Models/Shared/BootstrapAlerts/alertStructure\";\r\n\r\nexport interface IAlert {\r\n DisplayCondition: boolean | KnockoutObservable; // Optional\r\n\r\n AlertText: KnockoutObservableArray; // Required/Optional - Required if 'SingleAlertMessage' is not provided\r\n SingleAlertMessage: string | KnockoutObservable; // Required/Optional - Required if 'AlertText' is not provided\r\n}\r\n\r\nexport default class AlertBase {\r\n orderedAlertText: KnockoutComputed;\r\n \r\n alertText: KnockoutObservableArray;\r\n\r\n singleAlertMessage: string | KnockoutObservable;\r\n displayCondition: boolean | KnockoutObservable;\r\n\r\n constructor(params: IAlert) {\r\n if ((params.SingleAlertMessage == null || params.SingleAlertMessage == undefined) && (params.AlertText == null || params.AlertText == undefined)) {\r\n throw new Error(\"Please ensure 'AlertText' or 'SingleAlertMessage' has been provided when invoking this component.\");\r\n }\r\n\r\n // Provided Component Properties\r\n this.singleAlertMessage = params.SingleAlertMessage;\r\n this.alertText = params.AlertText || ko.observableArray([]);\r\n this.displayCondition = params.DisplayCondition != null && params.DisplayCondition != undefined ? params.DisplayCondition : true;\r\n\r\n // Standard Component Properties\r\n this.orderedAlertText = ko.pureComputed(() => {\r\n var alerts = this.alertText();\r\n\r\n if (this.singleAlertMessage) {\r\n alerts = [{\r\n Order: 0,\r\n TextValue: this.singleAlertMessage\r\n }];\r\n\r\n this.alertText(alerts);\r\n }\r\n\r\n return _.sortBy(alerts, (item) => item.Order);\r\n });\r\n }\r\n}\r\n\r\nconst alertWarningIconComponent = \"alert-warning-icon\";\r\nko.components.unregister(alertWarningIconComponent);\r\nko.components.register(alertWarningIconComponent, {\r\n viewModel: AlertBase,\r\n template: { require: `text!/Themes/Default/Content/ts/Shared/BootstrapAlerts/AlertWarning/${alertWarningIconComponent}.html` }\r\n});\r\n\r\nconst alertSuccessIconComponent = \"alert-success-icon\";\r\nko.components.unregister(alertSuccessIconComponent);\r\nko.components.register(alertSuccessIconComponent, {\r\n viewModel: AlertBase,\r\n template: { require: `text!/Themes/Default/Content/ts/Shared/BootstrapAlerts/AlertSuccess/${alertSuccessIconComponent}.html` }\r\n});\r\n\r\nconst alertDangerIconComponent = \"alert-danger-icon\";\r\nko.components.unregister(alertDangerIconComponent);\r\nko.components.register(alertDangerIconComponent, {\r\n viewModel: AlertBase,\r\n template: { require: `text!/Themes/Default/Content/ts/Shared/BootstrapAlerts/AlertDanger/${alertDangerIconComponent}.html` }\r\n});"]}