UNPKG

magix-components

Version:
83 lines 2.44 kB
/* ver:1.3.1 */ /* author:xinglie.lkf@alibaba-inc.com */ let $ = require('$'); let Magix = require('magix'); module.exports = { ctor() { let me = this; me['@{state.store}'] = {}; me.on('rendered', (e) => { let state = me['@{state.store}']; let ipts = $('#' + e.id + ' input[linkage-parent]'); ipts.each((idx, item) => { let linkName = $(item).attr('linkage-parent'); let object = state[linkName]; if (object && object[item.value] == 1) { item.checked = true; } else { item.checked = false; } }); }); }, getStoreState(key) { let store = this['@{state.store}']; let keys = []; let value; if (key) { value = store[key]; if (value) { keys = Magix.keys(value); } } else { for (let p in store) { value = store[p]; if (value) { keys = keys.concat(Magix.keys(value)); } } } return keys; }, '$input[linkage-parent]<change>' (e) { let me = this; let node = $(e.eventTarget); let value = node.val(); let linkName = node.attr('linkage-parent'); if (value) { let object = me['@{state.store}'][linkName]; if (!object) { object = me['@{state.store}'][linkName] = {}; } if (node.prop('checked')) { object[value] = 1; } else { delete object[value]; } } }, '$input[linkage]<change>' (e) { let me = this; let linkName = $(e.eventTarget).attr('linkage'); let object = me['@{state.store}'][linkName]; if (!object) { object = me['@{state.store}'][linkName] = {}; } $('#' + me.id + ' input[type=checkbox]').each((index, input) => { input = $(input); let tempName = input.attr('linkage-parent'); let value = input.val(); if (value && tempName == linkName) { if (e.target.checked) { object[value] = 1; } else { delete object[value]; } } }); } };