ucan-ext-js-kitchen-sink
Version:
my-ext-gen-app description for Ext JS app MyExtGenApp
78 lines (63 loc) • 2.06 kB
JavaScript
Ext.define('UCAN.util.src.Util', {
singleton: true,
alternateClassName: 'SinkUtil',
cssSelector: function(cssClass) {
return '[cls~=' + cssClass + ']';
},
downClass: function(cssClass) {
return this.getView().down(SinkUtil.cssSelector(cssClass));
},
downClassFromView: function(view, cssClass) {
return view.down(SinkUtil.cssSelector(cssClass));
},
upClass: function(cssClass) {
return this.getView().up(SinkUtil.cssSelector(cssClass));
},
upClassFromView: function(view, cssClass) {
return view.up(SinkUtil.cssSelector(cssClass));
},
cssQuery: function(cssClass) {
return this.getView().query(SinkUtil.cssSelector(cssClass));
},
cssQueryFromView: function(view, cssClass) {
return view.query(SinkUtil.cssSelector(cssClass));
},
renderDateTime: function(value, translator) {
if (!Ext.isEmpty(value)) {
let date = new Date(value);
return Ext.util.Format.date(date, translator.get('date_time_format'));
} else {
return '';
}
},
creator: function(val) {
if (!Ext.isEmpty(val)) {
const groups = val.match(/sn=([\w\xC4-\xFC-]*),fn=([\w\xC4-\xFC-]*)/);
if (groups) {
return groups[2] + ' ' + groups[1];
}
} else {
return '';
}
},
createGenericModel: function() {
return Ext.create('UCAN.util.src.GenericModel');
},
fieldIsDirty(previousValue, fieldValue) {
return !(Ext.isEmpty(previousValue) && Ext.isEmpty(fieldValue)) && previousValue !== fieldValue;
},
fieldHtmlChange(htmlString, value) {
// true if one of the input strings contain text content
return !(Ext.isEmpty(SinkUtil.stringTrimHtml(htmlString)) && Ext.isEmpty(value));
},
stringTrimHtml(htmlString) {
return htmlString.replace(/<[^>]+>/g, '');
},
addToArray: function(existingArray, newData) {
existingArray.push(newData);
return [...new Set(existingArray)];
},
removeFromArray: function(existingArray, dataToRemove) {
return existingArray.filter(content => content !== dataToRemove);
}
});