{"version":3,"file":"checkbox.js","names":["app","component","require","modelCtrl","bindings","value","label","confirm","confirmString","ghostTick","cross","boxLeft","required","lockCheck","disabled","onCheck","controller","ctrl","this","setToggle","$event","$setViewValue","$onInit","tios","util","isNullOrUndefined","svg","getSymbol","$onChanges","changes","toggleCheckbox","$viewValue","global","showConfirm","title","message","ok","cancel","callback","template"],"sources":["angular/component/checkbox.js"],"mappings":"CAAA,WACI,aAwDAA,IAAIC,UAAU,WAAY,CACtBC,QAAS,CAAEC,UAAW,WACtBC,SAAU,CACNC,MAAO,KACPC,MAAO,KAEPC,QAAS,KACTC,cAAe,KAEfC,UAAW,KAEXC,MAAO,KAEPC,QAAS,KAETC,SAAU,KAEVC,UAAW,KAEXC,SAAU,KAEVC,QAAS,MAGbC,WAAY,CA9EC,WACb,IAAIC,EAAOC,KAMX,SAASC,EAAUd,GAEa,mBAAjBY,EAAKF,QACZE,EAAKF,QAAQ,CAAEK,OAAQ,CAAEf,MAAOA,KAEhCY,EAAKd,UAAUkB,cAAchB,EAAO,8BAE5C,CAVAY,EAAKK,QAuCL,WAGIL,EAAKZ,QAASkB,KAAKC,KAAKC,kBAAkBR,EAAKZ,QAASY,EAAKZ,MAE7DY,EAAKS,IAAMH,KAAKC,KAAKG,UAAYV,EAAKP,MAAQ,QAAU,SAEhD,CACZ,EA9CAO,EAAKW,WAiCL,SAAgBC,GAGhB,EAzBAZ,EAAKa,eAAiB,WAClB,KAAKb,EAAKH,UAAcG,EAAKJ,WAAaI,EAAKd,UAAU4B,aAAed,EAAKZ,OAAQ,CACjF,IAAIA,EAAQY,EAAKd,UAAU4B,aAAed,EAAKZ,OAAQY,EAAKZ,MACtDY,EAAKV,QACPyB,OAAOC,YAAY,CACfC,MAAO,UACPC,QAAW9B,EACNY,EAAKT,eAAiB,gCAAgCS,EAAKX,YAAYW,EAAKZ,SAC7E,kCAAkCY,EAAKX,QAC3C8B,GAAI,MACJC,OAAQ,KACRC,SAAU,SAAUF,GACZA,GAAIjB,EAAUd,EACtB,IAGJc,EAAUd,EAElB,CACJ,CAiBJ,GA4BIkC,SAAU,2kCAGjB,CAtFD","sourcesContent":["(function () {\r\n 'use strict';\r\n\r\n var controller = function () {\r\n var ctrl = this;\r\n var _init = false;\r\n\r\n ctrl.$onInit = init;\r\n ctrl.$onChanges = change;\r\n //-\r\n function setToggle(value) {\r\n // If there's an event, fire that, otherwise set the model\r\n if (typeof ctrl.onCheck === 'function') {\r\n ctrl.onCheck({ $event: { value: value } });\r\n } else {\r\n ctrl.modelCtrl.$setViewValue(value, 'checkbox.js::toggleCheckbox');\r\n }\r\n };\r\n\r\n ctrl.toggleCheckbox = function () {\r\n if (!ctrl.disabled && (!ctrl.lockCheck || ctrl.modelCtrl.$viewValue !== ctrl.value)) {\r\n var value = ctrl.modelCtrl.$viewValue !== ctrl.value ? ctrl.value : false;\r\n if (!!ctrl.confirm) {\r\n global.showConfirm({\r\n title: 'Confirm',\r\n message: !!value ?\r\n (ctrl.confirmString || `Are you sure you want to set ${ctrl.label} to ${ctrl.value}?`) :\r\n `Are you sure you want to unset ${ctrl.label}`,\r\n ok: 'Yes',\r\n cancel: 'No',\r\n callback: function (ok) {\r\n if (ok) setToggle(value);\r\n }\r\n });\r\n } else {\r\n setToggle(value);\r\n }\r\n }\r\n };\r\n\r\n //Alias methods\r\n function change(changes) {\r\n if (_init) {\r\n }\r\n }\r\n\r\n function init() {\r\n //tiosUtil.log('init checkbox');\r\n\r\n ctrl.value = !tios.util.isNullOrUndefined(ctrl.value) ? ctrl.value : true;\r\n\r\n ctrl.svg = tios.util.getSymbol(!!ctrl.cross ? 'cross' : 'tick');\r\n\r\n _init = true;\r\n };\r\n };\r\n\r\n app.component('checkbox', {\r\n require: { modelCtrl: 'ngModel' },\r\n bindings: {\r\n value: ''\r\n });\r\n\r\n})();"]}