{"version":3,"file":"kendo.checkboxgroup.min.js","names":["factory","define","amd","$","kendo","ui","InputGroupBase","CHECKED","CheckBoxGroup","window","jQuery","extend","options","name","inputName","inputRounded","inputSize","enabled","labelPosition","layout","items","ITEM_TEMPLATE","NS","COMPONENT","groupStyles","item","input","label","list","vertical","horizontal","disabled","checkAll","shouldCheck","that","this","inputs","element","find","prop","_value","each","i","push","value","values","currentInput","selectedElements","updatedSelectedElements","selectedValues","length","add","_changeHandler","e","target","val","_targetForPreventedChange","is","filter","trigger","_dataValRequired","validationAttributes","wrapper","attr","cssProperties","registerPrefix","registerValues","roundedValues","concat","plugin"],"sources":["kendo.checkboxgroup.js"],"mappings":"CAAA,SAAWA,GACW,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,iBAAkB,2BAA4B,sBAAuBD,GAC1HA,IAFJ,EAGG,WACC,IAQUG,EACFC,EACAC,EACAC,EAGAC,EAIAC,EAVEL,EA0IPM,OAAOL,MAAMM,OAzIRN,EAAQK,OAAOL,MACfC,EAAKD,EAAMC,GACXC,EAAiBD,EAAGC,eAGpBC,EAAU,UAIVC,EAAgBF,EAAeK,OAAO,CACtCC,QAAS,CACLC,KAAM,gBACNC,UAAW,GACXC,aAAc,SACdC,UAAW,SACXC,SAAS,EACTC,cATI,QAUJC,OAXO,WAYPC,MAAO,IAGXC,cAAe,+EAIfC,GAAI,sBAEJC,UAAW,gBAEXC,YAAa,CACTC,KAAM,kBACNC,MAAO,aACPC,MAAO,mBACPC,KAAM,kBACNC,SAAU,kBACVC,WAAY,oBACZC,SAAU,cAGdC,SAAU,SAASC,GACf,IAAIC,EAAOC,KACPC,EAASF,EAAKG,QAAQC,KAAK,UAKX,IAAhBL,GACAG,EAAOG,KAAKhC,GAAS,GACrB2B,EAAKM,OAAS,GACdJ,EAAOK,MAPK,SAASC,EAAGhB,GACpBQ,EAAKM,OAAOG,KAAKjB,EAAMkB,YAOJ,IAAhBX,IACPG,EAAOG,KAAKhC,GAAS,GACrB2B,EAAKM,OAAS,KAItBI,MAAO,SAASC,GACZ,IACIC,EAEAC,EAAkBC,EAAyBN,EAH3CR,EAAOC,KAEPc,EAAiB,GAGrB,QA/DZ,IA+DgBJ,EAIA,OAHKX,EAAKM,SACNN,EAAKM,OAAS,IAEXN,EAAKM,OACT,GAAe,OAAXK,GAAqC,IAAlBA,EAAOK,OAGjC,OAFAhB,EAAKM,OAAS,QACdN,EAAKG,QAAQC,KAjEf,IAiE0BJ,EAAKV,YAAYE,OAAOa,KAAKhC,GAAS,GAE3D,GAAKsC,KAAUA,EAAOK,OAAS,GAA/B,CAUP,KANAH,EAAmBb,EAAKG,QAAQC,KAAK,gBAAkBO,EAAO,GAAK,OAE9CK,QACjBD,EAAeN,KAAKE,EAAO,IAG1BH,EAAI,EAAGA,EAAIG,EAAOK,OAAQR,IAC3BI,EAAeZ,EAAKG,QAAQC,KAAK,gBAAkBO,EAAOH,GAAK,OAC/DM,EAA0BD,EAAiBI,IAAIL,IAEnBI,OAASH,EAAiBG,SAClDH,EAAmBC,EACnBC,EAAeN,KAAKE,EAAOH,KAInCR,EAAKM,OAASS,EACdf,EAAKG,QAAQC,KAxFX,IAwFsBJ,EAAKV,YAAYE,OAAOa,KAAKhC,GAAS,GAC9DwC,EAAiBR,KAAKhC,GAAS,KAGnC6C,eAAgB,SAASC,GACrB,IAAIC,EAASnD,EAAEkD,EAAEC,QACbV,EAAQU,EAAOC,MAKfpB,KAAKqB,4BAA8BH,EAAEC,QAKpCnB,KAAKK,SACNL,KAAKK,OAAS,IAGdc,EAAOG,GAAG,YACVtB,KAAKK,OAAOG,KAAKC,GAEjBT,KAAKK,OAASL,KAAKK,OAAOkB,QAhBd,SAASjC,GACjB,OAAOA,IAASmB,KAkBxBT,KAAKwB,QAnHA,SAmHgB,CACjBL,OAAQA,KAfRnB,KAAKqB,0BAA4B,MAmBzCI,iBAAkB,SAASC,GACvBA,EAAqB,qBAAuB1B,KAAK2B,QAAQC,KAAK,qBAC9DF,EAAqB,sBAAwB,UAIrDzD,EAAM4D,cAAcC,eAAe,gBAAiB,eAEpD7D,EAAM4D,cAAcE,eAAe,gBAAiB,CAAC,CACjD3B,KAAM,UACNM,OAAQzC,EAAM4D,cAAcG,cAAcC,OAAO,CAAC,CAAC,OAAQ,aAG/D/D,EAAGgE,OAAO7D","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.inputgroupbase', 'kendo.checkbox'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"checkboxgroup\",\n name: \"CheckBoxGroup\",\n category: \"web\",\n description: \"The CheckBoxGroup component.\",\n depends: [ \"core\", \"inputgroupbase\", \"checkbox\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n InputGroupBase = ui.InputGroupBase,\n CHANGE = \"change\",\n DOT = \".\",\n CHECKED = \"checked\",\n VERTICAL = \"vertical\",\n AFTER = \"after\";\n\n var CheckBoxGroup = InputGroupBase.extend({\n options: {\n name: \"CheckBoxGroup\",\n inputName: \"\",\n inputRounded: \"medium\",\n inputSize: \"medium\",\n enabled: true,\n labelPosition: AFTER,\n layout: VERTICAL,\n items: []\n },\n\n ITEM_TEMPLATE: '
  • ' +\n '' +\n '
  • ',\n\n NS: \".kendoCheckBoxGroup\",\n\n COMPONENT: \"kendoCheckBox\",\n\n groupStyles: {\n item: \"k-checkbox-item\",\n input: \"k-checkbox\",\n label: \"k-checkbox-label\",\n list: \"k-checkbox-list\",\n vertical: \"k-list-vertical\",\n horizontal: \"k-list-horizontal\",\n disabled: \"k-disabled\"\n },\n\n checkAll: function(shouldCheck) {\n var that = this,\n inputs = that.element.find(\"input\"),\n getValues = function(i, input) {\n that._value.push(input.value);\n };\n\n if (shouldCheck === true) {\n inputs.prop(CHECKED, true);\n that._value = [];\n inputs.each(getValues);\n } else if (shouldCheck === false) {\n inputs.prop(CHECKED, false);\n that._value = [];\n }\n },\n\n value: function(values) {\n var that = this,\n currentInput,\n selectedValues = [],\n selectedElements, updatedSelectedElements, i;\n\n if (values === undefined$1) {\n if (!that._value) {\n that._value = [];\n }\n return that._value;\n } else if (values === null || values.length === 0) {\n that._value = [];\n that.element.find(DOT + that.groupStyles.input).prop(CHECKED, false);\n return;\n } else if (!values || values.length < 1) {\n return;\n }\n\n selectedElements = that.element.find(\"input[value='\" + values[0] + \"']\");\n\n if (selectedElements.length) {\n selectedValues.push(values[0]);\n }\n\n for (i = 1; i < values.length; i++) {\n currentInput = that.element.find(\"input[value='\" + values[i] + \"']\");\n updatedSelectedElements = selectedElements.add(currentInput);\n\n if (updatedSelectedElements.length > selectedElements.length) {\n selectedElements = updatedSelectedElements;\n selectedValues.push(values[i]);\n }\n }\n\n that._value = selectedValues;\n that.element.find(DOT + that.groupStyles.input).prop(CHECKED, false);\n selectedElements.prop(CHECKED, true);\n },\n\n _changeHandler: function(e) {\n var target = $(e.target),\n value = target.val(),\n filterOut = function(item) {\n return item !== value;\n };\n\n if (this._targetForPreventedChange === e.target) {\n this._targetForPreventedChange = null;\n return;\n }\n\n if (!this._value) {\n this._value = [];\n }\n\n if (target.is(\":checked\")) {\n this._value.push(value);\n } else {\n this._value = this._value.filter(filterOut);\n }\n\n this.trigger(CHANGE, {\n target: target\n });\n },\n\n _dataValRequired: function(validationAttributes) {\n validationAttributes[\"data-msg-required\"] = this.wrapper.attr(\"data-val-required\");\n validationAttributes[\"data-rule-required\"] = \"true\";\n }\n });\n\n kendo.cssProperties.registerPrefix(\"CheckBoxGroup\", \"k-checkbox-\");\n\n kendo.cssProperties.registerValues(\"CheckBoxGroup\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n ui.plugin(CheckBoxGroup);\n })(window.kendo.jQuery);\n\n}));\n"]}