Path: blob/master/webroot/rsrc/js/application/projects/WorkboardDropEffect.js
12242 views
/**1* @provides javelin-workboard-drop-effect2* @requires javelin-install3* javelin-dom4* @javelin5*/67JX.install('WorkboardDropEffect', {89properties: {10icon: null,11color: null,12content: null,13isTriggerEffect: false,14isHeader: false,15conditions: []16},1718statics: {19newFromDictionary: function(map) {20return new JX.WorkboardDropEffect()21.setIcon(map.icon)22.setColor(map.color)23.setContent(JX.$H(map.content))24.setIsTriggerEffect(map.isTriggerEffect)25.setIsHeader(map.isHeader)26.setConditions(map.conditions || []);27}28},2930members: {31newNode: function() {32var icon = new JX.PHUIXIconView()33.setIcon(this.getIcon())34.setColor(this.getColor())35.getNode();3637var attributes = {};3839if (this.getIsHeader()) {40attributes.className = 'workboard-drop-preview-header';41}4243return JX.$N('li', attributes, [icon, this.getContent()]);44},4546isEffectVisibleForCard: function(card) {47var conditions = this.getConditions();4849var properties = card.getProperties();50for (var ii = 0; ii < conditions.length; ii++) {51var condition = conditions[ii];5253var field = properties[condition.field];54var value = condition.value;5556var result = true;57switch (condition.operator) {58case '!=':59result = (field !== value);60break;61}6263if (!result) {64return false;65}66}6768return true;69}7071}72});737475