From 3c74f5b88798e2e183262d043ca80cf384efc6fa Mon Sep 17 00:00:00 2001 From: phischdev Date: Sun, 21 May 2017 18:02:46 +0200 Subject: [PATCH] neue Sachen --- app/Application.js | 21 +++++++++++++-------- app/model/Service.js | 12 ++++++++---- app/model/ServiceList.js | 8 ++++++-- app/store/Services.js | 1 + app/store/ServicesList.js | 10 +++++++++- app/view/add/Add.js | 32 ++++++++++++++++++++++---------- app/view/main/Main.js | 13 +++++++------ app/view/main/MainController.js | 12 ++++++------ 8 files changed, 72 insertions(+), 37 deletions(-) diff --git a/app/Application.js b/app/Application.js index d2b0f888..1ddad10e 100644 --- a/app/Application.js +++ b/app/Application.js @@ -39,8 +39,8 @@ Ext.define('Rambox.Application', { const defaults =[ { "position": 1, - "type": "custom", - "logo": "", + "type": "info", + "logo": "custom.png", "name": "Info", "url": "https://tools.diehumanisten.de", "align": "left", @@ -52,13 +52,14 @@ Ext.define('Rambox.Application', { "enabled": true, "js_unread": "", "zoomLevel": 0, - "id": 11 + "id": 11, + "removable": false }, { "position": 2, "type": "slack", "logo": "slack.png", - "name": "Chat (Slack)", + "name": "Slack", "url": "https://pgs-diehumanisten.slack.com/", "align": "left", "notifications": true, @@ -69,7 +70,8 @@ Ext.define('Rambox.Application', { "enabled": true, "js_unread": "", "zoomLevel": 0, - "id": 1 + "id": 1, + "removable": false }, { "position": 3, @@ -86,7 +88,8 @@ Ext.define('Rambox.Application', { "enabled": true, "js_unread": "", "zoomLevel": 0, - "id": 10 + "id": 10, + "removable": false }, { "position": 4, @@ -103,7 +106,8 @@ Ext.define('Rambox.Application', { "enabled": true, "js_unread": "", "zoomLevel": 0, - "id": 16 + "id": 16, + "removable": false }, { @@ -121,7 +125,8 @@ Ext.define('Rambox.Application', { "enabled": true, "js_unread": "", "zoomLevel": 0, - "id": 18 + "id": 18, + "removable": false }, { "position": 6, "type": "facebook", diff --git a/app/model/Service.js b/app/model/Service.js index e108fa3c..61346cf3 100644 --- a/app/model/Service.js +++ b/app/model/Service.js @@ -57,9 +57,13 @@ Ext.define('Rambox.model.Service', { name: 'js_unread' ,type: 'string' ,defaultValue: '' - },{ - name: 'zoomLevel' - ,type: 'number' - ,defaultValue: 0 + }, { + name: 'zoomLevel' + , type: 'number' + , defaultValue: 0 + }, { + name: 'removable' + ,type: 'boolean' + ,defaultValue: true }] }); diff --git a/app/model/ServiceList.js b/app/model/ServiceList.js index 5225372e..0082a712 100644 --- a/app/model/ServiceList.js +++ b/app/model/ServiceList.js @@ -47,9 +47,13 @@ Ext.define('Rambox.model.ServiceList', { name: 'custom_domain' ,type: 'boolean' ,defaultValue: false + }, { + name: 'dont_update_unread_from_title' + , type: 'boolean' + , defaultValue: false },{ - name: 'dont_update_unread_from_title' + name: 'removable' ,type: 'boolean' - ,defaultValue: false + ,defaultValue: true }] }); diff --git a/app/store/Services.js b/app/store/Services.js index cb38447f..3e1b30d4 100644 --- a/app/store/Services.js +++ b/app/store/Services.js @@ -47,6 +47,7 @@ Ext.define('Rambox.store.Services', { ,src: service.get('url') ,type: service.get('type') ,muted: service.get('muted') + ,removable: service.get('removable') ,includeInGlobalUnreadCounter: service.get('includeInGlobalUnreadCounter') ,displayTabUnreadCounter: service.get('displayTabUnreadCounter') ,enabled: service.get('enabled') diff --git a/app/store/ServicesList.js b/app/store/ServicesList.js index 8f21e373..97d26bed 100644 --- a/app/store/ServicesList.js +++ b/app/store/ServicesList.js @@ -34,7 +34,7 @@ Ext.define('Rambox.store.ServicesList', { logo: 'wiki.png' , name: 'WikiMedia' , url: 'http://___/wiki', - type: 'mitglieder' + type: 'mitglieder', }, { id: 'slack' @@ -92,6 +92,14 @@ Ext.define('Rambox.store.ServicesList', { ,type: 'custom' ,allow_popups: true }, + { + id: 'info' + ,logo: 'custom.png' + ,name: 'Infos' + ,description: 'Infoseite zu unseren Plattformen' + ,url: '___' + ,type: 'mitglied' + }, { id: 'roundcube' ,logo: 'roundcube.png' diff --git a/app/view/add/Add.js b/app/view/add/Add.js index ca4cde5e..51d699e7 100644 --- a/app/view/add/Add.js +++ b/app/view/add/Add.js @@ -26,6 +26,9 @@ Ext.define('Rambox.view.add.Add',{ ,initComponent: function() { var me = this; + const removable = !me.record.get('removable'); + + console.log("NOT REMOVABLE: ", removable); me.title = (!me.edit ? 'Add ' : 'Edit ') + me.record.get('name'); me.icon = me.record.get('type') === 'custom' ? (!me.edit ? 'resources/icons/custom.png' : (me.record.get('logo') === '' ? 'resources/icons/custom.png' : me.record.get('logo'))) : 'resources/icons/'+me.record.get('logo'); @@ -40,6 +43,7 @@ Ext.define('Rambox.view.add.Add',{ ,name: 'serviceName' ,allowBlank: true ,listeners: { specialkey: 'onEnter' } + ,disabled: removable } ,{ xtype: 'container' @@ -58,6 +62,7 @@ Ext.define('Rambox.view.add.Add',{ ,vtype: me.record.get('url') === '___' ? 'url' : '' ,width: 275 ,listeners: { specialkey: 'onEnter' } + ,disabled: removable } ,{ xtype: 'cycle' @@ -79,7 +84,8 @@ Ext.define('Rambox.view.add.Add',{ ,disabled: me.edit ? !me.service.get('custom_domain') : !me.record.get('custom_domain') } ] - } + ,disabled: removable + } // Fixes bug EXTJS-20094 for version Ext JS 5 ,arrowHandler: function(cycleBtn, e) { if ( !cycleBtn.arrowVisible ) cycleBtn.hideMenu(); @@ -107,7 +113,9 @@ Ext.define('Rambox.view.add.Add',{ ,{ xtype: 'hiddenfield' ,name: 'cycleValue' - ,value: me.edit ? (me.service.get('custom_domain') && me.service.get('url') === me.record.get('url') ? 1 : (!Ext.String.endsWith(me.record.get('url'), me.service.get('url').split('___')[1]) ? 2 : 1)) : 1 + ,disabled: removable + + ,value: me.edit ? (me.service.get('custom_domain') && me.service.get('url') === me.record.get('url') ? 1 : (!Ext.String.endsWith(me.record.get('url'), me.service.get('url').split('___')[1]) ? 2 : 1)) : 1 } ] } @@ -122,23 +130,25 @@ Ext.define('Rambox.view.add.Add',{ ,hidden: me.record.get('type') !== 'custom' ,margin: '5 0 0 0' ,listeners: { specialkey: 'onEnter' } - } + ,disabled: removable + } ,{ xtype: 'fieldset' - ,title: 'Options' + ,title: 'Einstellungen' ,margin: '10 0 0 0' ,items: [ { xtype: 'checkbox' - ,boxLabel: 'Align to Right' + ,boxLabel: 'Rechts anordnen' ,checked: me.edit ? (me.record.get('align') === 'right' ? true : false) : false ,name: 'align' ,uncheckedValue: 'left' ,inputValue: 'right' + ,disabled: removable } ,{ xtype: 'checkbox' - ,boxLabel: 'Show notifications' + ,boxLabel: 'Benachrichtigungen anzeigen' ,name: 'notifications' ,checked: me.edit ? me.record.get('notifications') : true ,uncheckedValue: false @@ -146,7 +156,7 @@ Ext.define('Rambox.view.add.Add',{ } ,{ xtype: 'checkbox' - ,boxLabel: 'Mute all sounds' + ,boxLabel: 'Stummschalten' ,name: 'muted' ,checked: me.edit ? me.record.get('muted') : false ,uncheckedValue: false @@ -165,12 +175,12 @@ Ext.define('Rambox.view.add.Add',{ }, { xtype: 'fieldset', - title: 'Unread counter', + title: 'Zähler für ungelesene Nachrichten', margin: '10 0 0 0', items: [ { xtype: 'checkbox', - boxLabel: 'Display tab unread counter', + boxLabel: 'Zähler im Tab anzeigen', name: 'displayTabUnreadCounter', checked: me.edit ? me.record.get('displayTabUnreadCounter') : true, uncheckedValue: false, @@ -178,7 +188,7 @@ Ext.define('Rambox.view.add.Add',{ }, { xtype: 'checkbox', - boxLabel: 'Include in global unread counter', + boxLabel: 'Zum allgemeinen Zähler dazurechnen', name: 'includeInGlobalUnreadCounter', checked: me.edit ? me.record.get('includeInGlobalUnreadCounter') : true, uncheckedValue: false, @@ -201,7 +211,9 @@ Ext.define('Rambox.view.add.Add',{ ,value: me.edit ? me.record.get('js_unread') : '' ,anchor: '100%' ,height: 120 + ,disabled: function(view, rowIndex, colIndex, item, record) {return !record.get('editable'); } } + ] } ,{ diff --git a/app/view/main/Main.js b/app/view/main/Main.js index 0afb4420..3d183902 100644 --- a/app/view/main/Main.js +++ b/app/view/main/Main.js @@ -37,7 +37,7 @@ Ext.define('Rambox.view.main.Main', { ,items: [ { xtype: 'panel' - ,title: 'Add a new Service' + ,title: 'Unsere Plattformen' ,margin: '0 5 0 0' ,flex: 1 ,header: { height: 50 } @@ -131,7 +131,7 @@ Ext.define('Rambox.view.main.Main', { } ,{ xtype: 'grid' - ,title: 'Enabled Services' + ,title: 'Konfigurierte Plattformen' ,store: 'Services' ,hideHeaders: true ,margin: '0 0 0 5' @@ -153,9 +153,9 @@ Ext.define('Rambox.view.main.Main', { xtype: 'button' ,glyph: 'xf1f8@FontAwesome' ,baseCls: '' - ,tooltip: 'Zurücksetzen' + ,tooltip: 'Alles zurücksetzen' ,handler: 'removeAllServices' - ,title: 'Zurücksetzen' + ,title: 'Alles zurücksetzen' } ] ,columns: [ @@ -208,6 +208,7 @@ Ext.define('Rambox.view.main.Main', { } ,{ glyph: 0xf1f8 + ,isDisabled: function(view, rowIndex, colIndex, item, record) { return !record.get('removable')} ,tooltip: 'Remove' ,handler: 'removeService' ,getClass: function(){ return 'x-hidden-display'; } @@ -247,7 +248,7 @@ Ext.define('Rambox.view.main.Main', { ,items: [ { glyph: 'xf1f7@FontAwesome' - ,text: 'Don\'t Disturb: '+(JSON.parse(localStorage.getItem('dontDisturb')) ? 'ON' : 'OFF') + ,text: 'Nicht stören: '+(JSON.parse(localStorage.getItem('dontDisturb')) ? 'An' : 'Aus') ,tooltip: 'Disable notifications and sounds in all services. Perfect to be concentrated and focused.
Shortcut key: F1' ,enableToggle: true ,handler: 'dontDisturb' @@ -257,7 +258,7 @@ Ext.define('Rambox.view.main.Main', { } ,{ glyph: 'xf023@FontAwesome' - ,text: 'Lock Rambox' + ,text: 'Passwortsperre' ,tooltip: 'Lock this app if you will be away for a period of time.
Shortcut key: F2' ,handler: 'lockRambox' ,id: 'lockRamboxBtn' diff --git a/app/view/main/MainController.js b/app/view/main/MainController.js index dd6ce59e..00fa655d 100644 --- a/app/view/main/MainController.js +++ b/app/view/main/MainController.js @@ -87,7 +87,7 @@ Ext.define('Rambox.view.main.MainController', { ,removeService: function( gridView, rowIndex, colIndex, col, e, rec, rowEl ) { var me = this; - Ext.Msg.confirm('Please confirm...', 'Are you sure you want to remove '+rec.get('name')+'?', function(btnId) { + Ext.Msg.confirm('Bitte bestätige...', 'Bist du sicher, dass du ' + rec.get('name') + ' löschen möchtest?', function(btnId) { if ( btnId === 'yes' ) me.removeServiceFn(rec.get('id')); }); } @@ -99,7 +99,7 @@ Ext.define('Rambox.view.main.MainController', { document.title = 'HumanistenBox'; if ( btn ) { - Ext.Msg.confirm('Please confirm...', 'Are you sure you want to remove all services?', function(btnId) { + Ext.Msg.confirm('Bitte bestätige...', 'Bist du sicher, dass du das Programm auf den Ausganszustand zurücksetzen möchtest?', function(btnId) { if ( btnId === 'yes' ) { Ext.cq1('app-main').suspendEvent('remove'); Ext.Array.each(Ext.getStore('Services').collect('id'), function(serviceId) { @@ -208,13 +208,13 @@ Ext.define('Rambox.view.main.MainController', { localStorage.setItem('dontDisturb', btn.pressed); - btn.setText('Don\'t Disturb: ' + ( btn.pressed ? 'ON' : 'OFF' )); + btn.setText('Nicht stören: ' + ( btn.pressed ? 'An' : 'Aus' )); // If this method is called from Lock method, prevent showing toast if ( !e ) return; Ext.toast({ - html: btn.pressed ? 'ENABLED' : 'DISABLED' - ,title: 'Don\'t Disturb' + html: btn.pressed ? 'An' : 'Aus' + ,title: 'Nicht stören' ,width: 200 ,align: 't' ,closable: false @@ -224,7 +224,7 @@ Ext.define('Rambox.view.main.MainController', { ,lockRambox: function(btn) { var me = this; - var msgbox = Ext.Msg.prompt('Lock Rambox', 'Enter a temporal password to unlock it later', function(btnId, text) { + var msgbox = Ext.Msg.prompt('Passwortsperre', 'Enter a temporal password to unlock it later', function(btnId, text) { if ( btnId === 'ok' ) { var msgbox2 = Ext.Msg.prompt('Lock Rambox', 'Repeat the temporal password', function(btnId, text2) { if ( btnId === 'ok' ) {