UNPKG

ucan-ext-js-kitchen-sink

Version:

my-ext-gen-app description for Ext JS app MyExtGenApp

410 lines (403 loc) 9.37 kB
Ext.define('UCANSink.view.componentDetail.examples.shareComponent.exampleViewModel', { extend: 'Ext.app.ViewModel', alias: 'viewmodel.ucanshareComponentexampleviewmodel', data: { disableExpandButton: false, segmentedButtonStyle: 'space', selectedLanguage: 'de', owner: 1 }, stores: { availableAccounts: { model: 'UCAN.shareComponent.src.Share', data: [ { firstName: 'Peter', lastName: 'Listig', name: 'Peter Listig', id: 1 }, { firstName: 'Peter', lastName: 'Griff', name: 'Peter Griff', id: 2 }, { firstName: 'Albert', lastName: 'Stein', name: 'Albert Stein', id: 3 }, { firstName: 'Vincent', lastName: 'Wang', name: 'Vincent Wang', id: 4 }, { firstName: 'Ludwig', lastName: 'Hof', name: 'Ludwig Hof', id: 5 }, { firstName: 'Friedrich', lastName: 'April', name: 'Friedrich April', id: 6 }, { firstName: 'Rainer', lastName: 'Tisch', name: 'Rainer Tisch', id: 7 }, { firstName: 'George', lastName: 'Baum', name: 'George Baum', id: 8 }, { firstName: 'Günther', lastName: 'Angler', name: 'Günther Angler', id: 9 }, { firstName: 'Wolf', lastName: 'Gang', name: 'Wolf Gang', id: 10 }, { firstName: 'Karsten', lastName: 'Bronze', name: 'Karsten Bronze', id: 11 }, { firstName: 'Julia', lastName: 'Grün', name: 'Julia Grün', id: 12 }, { firstName: 'Nicole', lastName: 'Müller', name: 'Nicole Müller', id: 13 }, { firstName: 'Thorsten', lastName: 'Bauer', name: 'Thorsten Bauer', id: 14 }, { firstName: 'Waldo', lastName: 'Such', name: 'Waldo Such', id: 15 }, { firstName: 'Caroline', lastName: 'Pik', name: 'Caroline Pik', id: 16 }, { firstName: 'Rita', lastName: 'Ohr', name: 'Rita Ohr', id: 17 }, { firstName: 'Angela', lastName: 'Ringelnatter', name: 'Friedrich April', id: 18 } ], proxy: { type: 'memory' } }, availableGroups: { model: 'UCAN.shareComponent.src.Share', data: [ { id: 7, name: 'Dichter' }, { id: 8, name: 'Menschen' }, { id: 9, name: 'Tiere' }, { id: 10, name: 'Pflanzen' } ], proxy: { type: 'memory' } }, myGroups: { model: 'UCAN.shareComponent.src.Share', data: [ { id: 8, name: 'Menschen' }, { id: 9, name: 'Tiere' } ], proxy: { type: 'memory' } }, myAccountsGroups: { model: 'UCAN.shareComponent.src.Share', data: [ { firstName: 'Waldo', lastName: 'Such', name: 'Waldo Such', id: 15 }, { firstName: 'Caroline', lastName: 'Pik', name: 'Caroline Pik', id: 16 }, { firstName: 'Rita', lastName: 'Ohr', name: 'Rita Ohr', id: 17 }, { firstName: 'Angela', lastName: 'Ringelnatter', name: 'Friedrich April', id: 18 } ], proxy: { type: 'memory' } }, myDirectoriesGroups: { model: 'UCAN.shareComponent.src.Share', data: [ { id: 9, name: 'Tiere' }, { id: 10, name: 'Pflanzen' } ], proxy: { type: 'memory' } }, myDirectoriesAccounts: { model: 'UCAN.shareComponent.src.Share', data: [ { firstName: 'Vincent', lastName: 'Wang', name: 'Vincent Wang', id: 4 }, { firstName: 'Ludwig', lastName: 'Hof', name: 'Ludwig Hof', id: 5 }, { firstName: 'Friedrich', lastName: 'April', name: 'Friedrich April', id: 6 }, { firstName: 'Karsten', lastName: 'Bronze', name: 'Karsten Bronze', id: 11 }, { firstName: 'Julia', lastName: 'Grün', name: 'Julia Grün', id: 12 }, { firstName: 'Nicole', lastName: 'Müller', name: 'Nicole Müller', id: 13 }, { firstName: 'Thorsten', lastName: 'Bauer', name: 'Thorsten Bauer', id: 14 }, { firstName: 'Waldo', lastName: 'Such', name: 'Waldo Such', id: 15 }, { firstName: 'Caroline', lastName: 'Pik', name: 'Caroline Pik', id: 16 } ], proxy: { type: 'memory' } }, availableGroupsBigdata: { type: 'virtual', pageSize: 200, proxy : { type : 'ajax', url : '//nameless-tundra-27404.herokuapp.com/go/?fn=bigdata', reader : { type : 'json', rootProperty : 'data' } }, autoLoad: true }, associatedShares: { model: 'UCAN.shareComponent.src.Share', data: [ { firstName: 'Peter', lastName: 'Listig', name: 'Peter Listig', type: 'ACCOUNT', id: 1, read: true, write: true }, { firstName: 'Ludwig', lastName: 'Hof', name: 'Ludwig Hof', type: 'ACCOUNT', id: 5, read: true }, { id: 7, name: 'Dichter', type: 'GROUP', read: true, write: true }, { id: 9, name: 'Tiere', type: 'GROUP', read: true } ], proxy: { type: 'memory' } }, translationDE: { data: [ { id: 'ID', name: 'Name', rights: 'Rechte', first_name: 'Vorname', last_name: 'Nachname', users: 'Nutzer', groups: 'Gruppen', read_access_toggle: 'Leserecht hinzufügen/entfernen', write_access_toggle: 'Schreibrecht hinzufügen/entfernen', share_show_all: 'Alle verfügbaren Accounts und Gruppen anzeigen', shares_filter: 'Suchen', sort_ascending: 'Aufsteigend sortieren', sort_descending: 'Absteigend sortieren', columns: 'Spalten', group_by_this_field: 'Nach diesem Feld gruppieren', show_in_groups: 'In Gruppen anzeigen', loading_data: 'Daten werden geladen...', empty_text: 'Keine Daten vorhanden', loading: 'Lade Daten...', my_directories: 'Meine Verzeichnisse', my_groups: 'Meine Gruppen', all: 'Alle' } ] }, translationEN: { data: [ { id: 'ID', name: 'Name', rights: 'Rights', first_name: 'First name', last_name: 'Last name', users: 'Users', groups: 'Groups', read_access_toggle: 'Add/Remove read access', write_access_toggle: 'Add/Remove write access', share_show_all: 'Show available shares', shares_filter: 'Search', sort_ascending: 'Sort ascending', sort_descending: 'Sort descending', columns: 'Columns', group_by_this_field: 'Group by this field', show_in_groups: 'Show in groups', loading_data: 'Loading data...', empty_text: 'No data available', my_directories: 'My directories', my_groups: 'My groups', all: 'All' } ] } }, formulas: { readAccess: { // Bind with deep true to get notified about underlying changes bind: { bindTo: '{associatedReadAccessShares}', deep: true }, get: function(items) { return items.getRange().map(share => share.get('id')); } }, writeAccess: { // Bind directly to the store items to get the change without the need of deep binding bind: '{associatedWriteAccessShares.data.items}', get: function(items) { return items.map(share => share.get('id')); } }, translator: function(get) { if (get('selectedLanguage') === 'de') { return get('translationDE.first'); } else { return get('translationEN.first'); } } } });