commit 8bfb42d48ba8081d56c39b569a871708c765a47e Author: zhongjin Date: Sat Jul 21 10:30:13 2018 +0800 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..59d3a06 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +node_modules +iob_npm.done +package-lock.json +widgets/i18n/*/flat.txt +widgets/i18n/flat.txt +/.idea diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..183cc6a --- /dev/null +++ b/.npmignore @@ -0,0 +1,9 @@ +gulpfile.js +tasks +node_modules +test +.travis.yml +appveyor.yml +iob_npm.done +package-lock.json +widgets/i18n diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..c05adf9 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +os: + - linux +language: node_js +node_js: + - '4' + - '8' + - '10' diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..fb196da --- /dev/null +++ b/LICENSE @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) 2014-2018 bluefox , + 2014 hobbyquaker + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..baea228 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +![Logo](admin/jqui-mfd.png) +# yunkong2.vis-jqui-mfd +============ + +[![NPM version](http://img.shields.io/npm/v/yunkong2.vis-jqui-mfd.svg)](https://www.npmjs.com/package/yunkong2.vis-jqui-mfd) +[![Downloads](https://img.shields.io/npm/dm/yunkong2.vis-jqui-mfd.svg)](https://www.npmjs.com/package/yunkong2.vis-jqui-mfd) + +[![NPM](https://nodei.co/npm/yunkong2.vis-jqui-mfd.png?downloads=true)](https://nodei.co/npm/yunkong2.vis-jqui-mfd/) + +## Description +jqui-mfd widget sets for yunkong2.vis. Widgets are styled as Windows jQuery UI interface with icons from [OpenAutomationProject](https://git.spacen.net/OpenAutomationProject/knx-uf-iconset). +![Screenshot](img/Demo2.png) + +## Changelog +### 1.0.12 (2018-06-27) +- (bluefox) Custom10-Widget and Light-Widget are fixed if the icon color used + +### 1.0.11 (2018-02-18) +- (Bjoern3003) Heating widget was extended + +### 1.0.9 (2017-10-13) +- (bluefox) Fix iframes + +### 1.0.8 (2017-07-12) +- (KNXBroker) Fix of ShutterDialog Labels + +### 1.0.7 (2017-05-14) +- (bluefox/Apollon77) Fix size of lamp-off-svg + +### 1.0.6 (2016-11-24) +- (bluefox) Add to all dialogs autoclose + +### 1.0.5 (2016-09-13) +- (bluefox) add blind widget + +### 1.0.4 (2016-07-28) +- (bluefox) fix custom 10 dialog + +### 1.0.3 (2016-07-25) +- (jens-maus) removed left over debugger statement + +### 1.0.2 (2016-07-21) +- (jens-maus) implemented color support for each separate state of the jqui-mfd wigets + +### 1.0.0 (2016-06-14) +- (bluefox) increase default width of popup windows + +### 0.1.0 (2015-10-31) +- (bluefox) change Light Dialog => to OnOff Dialog +- (bluefox) expand auto close with timeout + +### 0.0.1 (2015-09-20) +- (bluefox) initial checkin + +## License + Copyright (c) 2013-2018 hobbyquaker https://git.spacen.net/hobbyquaker, bluefox https://git.spacen.net/GermanBluefox + MIT diff --git a/admin/jqui-mfd.png b/admin/jqui-mfd.png new file mode 100644 index 0000000..b7cd78f Binary files /dev/null and b/admin/jqui-mfd.png differ diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..fd48c48 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,401 @@ +'use strict'; + +var gulp = require('gulp'); +var fs = require('fs'); +var pkg = require('./package.json'); +var iopackage = require('./io-package.json'); +var version = (pkg && pkg.version) ? pkg.version : iopackage.common.version; +/*var appName = getAppName(); + +function getAppName() { + var parts = __dirname.replace(/\\/g, '/').split('/'); + return parts[parts.length - 1].split('.')[0].toLowerCase(); +} +*/ +const fileName = 'words.js'; +var languages = { + en: {}, + de: {}, + ru: {}, + pt: {}, + nl: {}, + fr: {}, + it: {}, + es: {}, + pl: {} +}; + +function lang2data(lang, isFlat) { + var str = isFlat ? '' : '{\n'; + var count = 0; + for (var w in lang) { + if (lang.hasOwnProperty(w)) { + count++; + if (isFlat) { + str += (lang[w] === '' ? (isFlat[w] || w) : lang[w]) + '\n'; + } else { + var key = ' "' + w.replace(/"/g, '\\"') + '": '; + str += key + '"' + lang[w].replace(/"/g, '\\"') + '",\n'; + } + } + } + if (!count) return isFlat ? '' : '{\n}'; + if (isFlat) { + return str; + } else { + return str.substring(0, str.length - 2) + '\n}'; + } +} + +function readWordJs(src) { + try { + var words; + if (fs.existsSync(src + 'js/' + fileName)) { + words = fs.readFileSync(src + 'js/' + fileName).toString(); + } else { + words = fs.readFileSync(src + fileName).toString(); + } + + var lines = words.split(/\r\n|\r|\n/g); + var i = 0; + while (!lines[i].match(/^systemDictionary = {/)) { + i++; + } + lines.splice(0, i); + + // remove last empty lines + i = lines.length - 1; + while (!lines[i]) { + i--; + } + if (i < lines.length - 1) { + lines.splice(i + 1); + } + + lines[0] = lines[0].replace('systemDictionary = ', ''); + lines[lines.length - 1] = lines[lines.length - 1].trim().replace(/};$/, '}'); + words = lines.join('\n'); + var resultFunc = new Function('return ' + words + ';'); + + return resultFunc(); + } catch (e) { + return null; + } +} +function padRight(text, totalLength) { + return text + (text.length < totalLength ? new Array(totalLength - text.length).join(' ') : ''); +} +function writeWordJs(data, src) { + var text = '// DO NOT EDIT THIS FILE!!! IT WILL BE AUTOMATICALLY GENERATED FROM src/i18n\n'; + text += '/*global systemDictionary:true */\n'; + text += '\'use strict\';\n\n'; + + text += 'systemDictionary = {\n'; + for (var word in data) { + if (data.hasOwnProperty(word)) { + text += ' ' + padRight('"' + word.replace(/"/g, '\\"') + '": {', 50); + var line = ''; + for (var lang in data[word]) { + if (data[word].hasOwnProperty(lang)) { + line += '"' + lang + '": "' + padRight(data[word][lang].replace(/"/g, '\\"') + '",', 50) + ' '; + } + } + if (line) { + line = line.trim(); + line = line.substring(0, line.length - 1); + } + text += line + '},\n'; + } + } + text = text.replace(/},\n$/, '}\n'); + text += '};'; + + if (fs.existsSync(src + 'js/' + fileName)) { + fs.writeFileSync(src + 'js/' + fileName, text); + } else { + fs.writeFileSync(src + '' + fileName, text); + } +} + +const EMPTY = ''; + +function words2languages(src) { + var langs = Object.assign({}, languages); + var data = readWordJs(src); + if (data) { + for (var word in data) { + if (data.hasOwnProperty(word)) { + for (var lang in data[word]) { + if (data[word].hasOwnProperty(lang)) { + langs[lang][word] = data[word][lang]; + // pre-fill all other languages + for (var j in langs) { + if (langs.hasOwnProperty(j)) { + langs[j][word] = langs[j][word] || EMPTY; + } + } + } + } + } + } + if (!fs.existsSync(src + 'i18n/')) { + fs.mkdirSync(src + 'i18n/'); + } + for (var l in langs) { + if (!langs.hasOwnProperty(l)) continue; + var keys = Object.keys(langs[l]); + //keys.sort(); + var obj = {}; + for (var k = 0; k < keys.length; k++) { + obj[keys[k]] = langs[l][keys[k]]; + } + if (!fs.existsSync(src + 'i18n/' + l)) { + fs.mkdirSync(src + 'i18n/' + l); + } + + fs.writeFileSync(src + 'i18n/' + l + '/translations.json', lang2data(obj)); + } + } else { + console.error('Cannot read or parse ' + fileName); + } +} +function words2languagesFlat(src) { + var langs = Object.assign({}, languages); + var data = readWordJs(src); + if (data) { + for (var word in data) { + if (data.hasOwnProperty(word)) { + for (var lang in data[word]) { + if (data[word].hasOwnProperty(lang)) { + langs[lang][word] = data[word][lang]; + // pre-fill all other languages + for (var j in langs) { + if (langs.hasOwnProperty(j)) { + langs[j][word] = langs[j][word] || EMPTY; + } + } + } + } + } + } + var keys = Object.keys(langs.en); + //keys.sort(); + for (var l in langs) { + if (!langs.hasOwnProperty(l)) continue; + var obj = {}; + for (var k = 0; k < keys.length; k++) { + obj[keys[k]] = langs[l][keys[k]]; + } + langs[l] = obj; + } + if (!fs.existsSync(src + 'i18n/')) { + fs.mkdirSync(src + 'i18n/'); + } + for (var ll in langs) { + if (!langs.hasOwnProperty(ll)) continue; + if (!fs.existsSync(src + 'i18n/' + ll)) { + fs.mkdirSync(src + 'i18n/' + ll); + } + + fs.writeFileSync(src + 'i18n/' + ll + '/flat.txt', lang2data(langs[ll], langs.en)); + } + fs.writeFileSync(src + 'i18n/flat.txt', keys.join('\n')); + } else { + console.error('Cannot read or parse ' + fileName); + } +} +function languagesFlat2words(src) { + var dirs = fs.readdirSync(src + 'i18n/'); + var langs = {}; + var bigOne = {}; + var order = Object.keys(languages); + dirs.sort(function (a, b) { + var posA = order.indexOf(a); + var posB = order.indexOf(b); + if (posA === -1 && posB === -1) { + if (a > b) return 1; + if (a < b) return -1; + return 0; + } else if (posA === -1) { + return -1; + } else if (posB === -1) { + return 1; + } else { + if (posA > posB) return 1; + if (posA < posB) return -1; + return 0; + } + }); + var keys = fs.readFileSync(src + 'i18n/flat.txt').toString().split('\n'); + + for (var l = 0; l < dirs.length; l++) { + if (dirs[l] === 'flat.txt') continue; + var lang = dirs[l]; + var values = fs.readFileSync(src + 'i18n/' + lang + '/flat.txt').toString().split('\n'); + langs[lang] = {}; + keys.forEach(function (word, i) { + langs[lang][word] = values[i].replace(/<\/ i>/g, '').replace(/<\/ b>/g, '').replace(/<\/ span>/g, '').replace(/% s/g, ' %s'); + }); + + var words = langs[lang]; + for (var word in words) { + if (words.hasOwnProperty(word)) { + bigOne[word] = bigOne[word] || {}; + if (words[word] !== EMPTY) { + bigOne[word][lang] = words[word]; + } + } + } + } + // read actual words.js + var aWords = readWordJs(); + + var temporaryIgnore = ['pt', 'fr', 'nl', 'flat.txt']; + if (aWords) { + // Merge words together + for (var w in aWords) { + if (aWords.hasOwnProperty(w)) { + if (!bigOne[w]) { + console.warn('Take from actual words.js: ' + w); + bigOne[w] = aWords[w] + } + dirs.forEach(function (lang) { + if (temporaryIgnore.indexOf(lang) !== -1) return; + if (!bigOne[w][lang]) { + console.warn('Missing "' + lang + '": ' + w); + } + }); + } + } + + } + + writeWordJs(bigOne, src); +} +function languages2words(src) { + var dirs = fs.readdirSync(src + 'i18n/'); + var langs = {}; + var bigOne = {}; + var order = Object.keys(languages); + dirs.sort(function (a, b) { + var posA = order.indexOf(a); + var posB = order.indexOf(b); + if (posA === -1 && posB === -1) { + if (a > b) return 1; + if (a < b) return -1; + return 0; + } else if (posA === -1) { + return -1; + } else if (posB === -1) { + return 1; + } else { + if (posA > posB) return 1; + if (posA < posB) return -1; + return 0; + } + }); + for (var l = 0; l < dirs.length; l++) { + if (dirs[l] === 'flat.txt') continue; + var lang = dirs[l]; + langs[lang] = fs.readFileSync(src + 'i18n/' + lang + '/translations.json').toString(); + langs[lang] = JSON.parse(langs[lang]); + var words = langs[lang]; + for (var word in words) { + if (words.hasOwnProperty(word)) { + bigOne[word] = bigOne[word] || {}; + if (words[word] !== EMPTY) { + bigOne[word][lang] = words[word]; + } + } + } + } + // read actual words.js + var aWords = readWordJs(); + + var temporaryIgnore = ['pt', 'fr', 'nl', 'it']; + if (aWords) { + // Merge words together + for (var w in aWords) { + if (aWords.hasOwnProperty(w)) { + if (!bigOne[w]) { + console.warn('Take from actual words.js: ' + w); + bigOne[w] = aWords[w] + } + dirs.forEach(function (lang) { + if (temporaryIgnore.indexOf(lang) !== -1) return; + if (!bigOne[w][lang]) { + console.warn('Missing "' + lang + '": ' + w); + } + }); + } + } + + } + + writeWordJs(bigOne, src); +} + +gulp.task('adminWords2languages', function (done) { + words2languages('./admin/'); + done(); +}); + +gulp.task('adminWords2languagesFlat', function (done) { + words2languagesFlat('./admin/'); + done(); +}); + +gulp.task('adminLanguagesFlat2words', function (done) { + languagesFlat2words('./admin/'); + done(); +}); + +gulp.task('adminLanguages2words', function (done) { + languages2words('./admin/'); + done(); +}); + + +gulp.task('updatePackages', function (done) { + iopackage.common.version = pkg.version; + iopackage.common.news = iopackage.common.news || {}; + if (!iopackage.common.news[pkg.version]) { + var news = iopackage.common.news; + var newNews = {}; + + newNews[pkg.version] = { + en: 'news', + de: 'neues', + ru: 'новое' + }; + iopackage.common.news = Object.assign(newNews, news); + } + fs.writeFileSync('io-package.json', JSON.stringify(iopackage, null, 4)); + done(); +}); + +gulp.task('updateReadme', function (done) { + var readme = fs.readFileSync('README.md').toString(); + var pos = readme.indexOf('## Changelog\n'); + if (pos !== -1) { + var readmeStart = readme.substring(0, pos + '## Changelog\n'.length); + var readmeEnd = readme.substring(pos + '## Changelog\n'.length); + + if (readme.indexOf(version) === -1) { + var timestamp = new Date(); + var date = timestamp.getFullYear() + '-' + + ('0' + (timestamp.getMonth() + 1).toString(10)).slice(-2) + '-' + + ('0' + (timestamp.getDate()).toString(10)).slice(-2); + + var news = ''; + if (iopackage.common.news && iopackage.common.news[pkg.version]) { + news += '* ' + iopackage.common.news[pkg.version].en; + } + + fs.writeFileSync('README.md', readmeStart + '### ' + version + ' (' + date + ')\n' + (news ? news + '\n\n' : '\n') + readmeEnd); + } + } + done(); +}); + +gulp.task('default', ['updatePackages', 'updateReadme']); \ No newline at end of file diff --git a/img/Demo2.png b/img/Demo2.png new file mode 100644 index 0000000..2e271e1 Binary files /dev/null and b/img/Demo2.png differ diff --git a/io-package.json b/io-package.json new file mode 100644 index 0000000..ba01bd5 --- /dev/null +++ b/io-package.json @@ -0,0 +1,136 @@ +{ + "common": { + "name": "vis-jqui-mfd", + "version": "1.0.12", + "news": { + "1.0.12": { + "en": "Custom10-Widget and Light-Widget are repaired if the icon color used", + "de": "Custom10-Widget und Light-Widget werden repariert, wenn die Symbolfarbe verwendet wird", + "ru": "Custom10-Widget и Light-Widget восстанавливаются, если используется цвет значка", + "pt": "Custom10-Widget e Light-Widget são reparados se a cor do ícone for usada", + "nl": "Custom10-Widget en Light-Widget worden gerepareerd als de gebruikte pictogramkleur", + "fr": "Custom10-Widget et Light-Widget sont réparés si la couleur de l'icône utilisée", + "it": "Custom10-Widget e Light-Widget vengono riparati se si utilizza il colore dell'icona", + "es": "Custom10-Widget y Light-Widget se reparan si el color del icono utilizado", + "pl": "Custom10-Widget i Light-Widget są naprawiane, jeśli używany jest kolor ikony" + }, + "1.0.11": { + "en": "The heating widget was extended", + "de": "Das Heizungs-Widget wurde erweitert", + "ru": "Виджет отопления был расширен", + "pt": "O widget de aquecimento foi estendido", + "nl": "De verwarmingswidget is uitgebreid", + "fr": "Le widget de chauffage a été étendu", + "it": "Il widget di riscaldamento è stato esteso", + "es": "El widget de calentamiento se extendió", + "pl": "Widżet grzewczy został przedłużony" + }, + "1.0.9": { + "en": "Fix iframes", + "de": "Korrigiere iframes", + "ru": "Поправлены iframes" + }, + "1.0.8": { + "en": "Fix of ShutterDialog Labels", + "de": "Fix of ShutterDialog Labels", + "ru": "Fix of ShutterDialog Labels" + }, + "1.0.7": { + "en": "Fix size of lamp-off-svg", + "de": "Größe der Lampe-Aus-SVG-Grafik korrigiert", + "ru": "Fix size of lamp-off-svg" + }, + "1.0.6": { + "en": "Add to all dialogs autoclose", + "de": "Autoclose für alle Dialogen hinzugefügt", + "ru": "Добавлено автозакрытие для всех диалоговых окон" + }, + "1.0.5": { + "en": "add blind widget", + "de": "Markisen-Widget hinzugefügt", + "ru": "Добавлен виджет для маркизы" + }, + "1.0.4": { + "en": "fix custom 10 dialog", + "de": "fix custom 10 dialog", + "ru": "fix custom 10 dialog" + }, + "1.0.3": { + "en": "removed left over debugger statement", + "de": "removed left over debugger statement", + "ru": "removed left over debugger statement" + }, + "1.0.2": { + "en": "implemented color support for each separate state of the jqui-mfd wigets", + "de": "implemented color support for each separate state of the jqui-mfd wigets", + "ru": "implemented color support for each separate state of the jqui-mfd wigets" + }, + "1.0.0": { + "en": "increase default width of popup windows", + "de": "increase default width of popup windows", + "ru": "increase default width of popup windows" + } + }, + "title": "jQuery-UI style Widgets", + "titleLang": { + "en": "jQuery-UI style Widgets", + "de": "jQuery-UI-Stil Widgets", + "ru": "Виджеты в стиле jQuery-UI", + "pt": "Widgets estilo jQuery-UI", + "nl": "jQuery-UI-stijl Widgets", + "fr": "Widgets de style jQuery-UI", + "it": "Widget di stile jQuery-UI", + "es": "Widgets de estilo jQuery-UI", + "pl": "Widżety w stylu jQuery-UI" + }, + "desc": { + "en": "jQuery-UI Widgets for yunkong2.vis with OpenAutomationProject icons", + "de": "jQuery-UI Widgets für yunkong2.vis mit OpenAutomationProject Bilder", + "ru": "jQuery-UI Widgets для yunkong2.vis с иконками OpenAutomationProject", + "pt": "Widgets jQuery-UI para yunkong2.vis com ícones OpenAutomationProject", + "nl": "jQuery-UI Widgets voor yunkong2.vis met OpenAutomationProject-pictogrammen", + "fr": "Widgets jQuery-UI pour yunkong2.vis avec des icônes OpenAutomationProject", + "it": "jQuery-UI Widget per yunkong2.vis con icone OpenAutomationProject", + "es": "jQuery-UI Widgets para yunkong2.vis con iconos de OpenAutomationProject", + "pl": "Widgety jQuery-UI dla yunkong2.vis z ikonami OpenAutomationProject" + }, + "platform": "Javascript/Node.js", + "loglevel": "info", + "icon": "jqui-mfd.png", + "enabled": true, + "mode": "once", + "extIcon": "https://git.spacen.net/yunkong2/yunkong2.vis-jqui-mfd/master/admin/jqui-mfd.png", + "keywords": [ + "jqui-mfd", + "vis", + "GUI", + "IoT", + "graphical", + "scada" + ], + "readme": "https://git.spacen.net/yunkong2/yunkong2.vis-jqui-mfd/blob/master/README.md", + "authors": [ + "hobbyquaker ", + "bluefox " + ], + "localLink": "%web_protocol%://%ip%:%web_port%/vis/edit.html", + "license": "MIT", + "dependencies": [ + "vis" + ], + "onlyWWW": true, + "singleton": true, + "type": "visualization-widgets", + "noConfig": true, + "restartAdapters": [ + "vis" + ] + }, + "native": { + "dependencies": [ + "basic", + "jqui" + ] + }, + "instanceObjects": [] +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b614362 --- /dev/null +++ b/package.json @@ -0,0 +1,51 @@ +{ + "name": "yunkong2.vis-jqui-mfd", + "description": "jqui-mfd Widgets for yunkong2.vis", + "version": "1.0.12", + "author": { + "name": "hobbyquaker", + "email": "hq@ccu.io" + }, + "contributors": [ + "bluefox ", + "hobbyquaker ", + "Apollon77 " + ], + "homepage": "https://git.spacen.net/yunkong2/yunkong2.vis-jqui-mfd", + "repository": { + "type": "git", + "url": "https://git.spacen.net/yunkong2/yunkong2.vis-jqui-mfd" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://git.spacen.net/yunkong2/yunkong2.vis-jqui-mfd/blob/master/LICENSE" + } + ], + "keywords": [ + "yunkong2", + "GUI", + "DashUI", + "web interface", + "home automation", + "SCADA", + "jqui-mfd GUI" + ], + "devDependencies": { + "grunt": "^1.0.1", + "grunt-replace": "^1.0.1", + "grunt-contrib-jshint": "^1.1.0", + "grunt-jscs": "^3.0.1", + "grunt-http": "^2.2.0", + "mocha": "^4.1.0", + "chai": "^4.1.2" + }, + "bugs": { + "url": "https://git.spacen.net/yunkong2/yunkong2.vis-jqui-mfd/issues" + }, + "main": "widgets/jqui-mfd.html", + "scripts": { + "test": "node node_modules/mocha/bin/mocha --exit" + }, + "license": "MIT" +} diff --git a/test/testPackageFiles.js b/test/testPackageFiles.js new file mode 100644 index 0000000..d0759c0 --- /dev/null +++ b/test/testPackageFiles.js @@ -0,0 +1,91 @@ +/* jshint -W097 */ +/* jshint strict:false */ +/* jslint node: true */ +/* jshint expr: true */ +var expect = require('chai').expect; +var fs = require('fs'); + +describe('Test package.json and io-package.json', function() { + it('Test package files', function (done) { + console.log(); + + var fileContentIOPackage = fs.readFileSync(__dirname + '/../io-package.json', 'utf8'); + var ioPackage = JSON.parse(fileContentIOPackage); + + var fileContentNPMPackage = fs.readFileSync(__dirname + '/../package.json', 'utf8'); + var npmPackage = JSON.parse(fileContentNPMPackage); + + expect(ioPackage).to.be.an('object'); + expect(npmPackage).to.be.an('object'); + + expect(ioPackage.common.version, 'ERROR: Version number in io-package.json needs to exist').to.exist; + expect(npmPackage.version, 'ERROR: Version number in package.json needs to exist').to.exist; + + expect(ioPackage.common.version, 'ERROR: Version numbers in package.json and io-package.json needs to match').to.be.equal(npmPackage.version); + + if (!ioPackage.common.news || !ioPackage.common.news[ioPackage.common.version]) { + console.log('WARNING: No news entry for current version exists in io-package.json, no rollback in Admin possible!'); + console.log(); + } + + expect(npmPackage.author, 'ERROR: Author in package.json needs to exist').to.exist; + expect(ioPackage.common.authors, 'ERROR: Authors in io-package.json needs to exist').to.exist; + + if (ioPackage.common.name.indexOf('template') !== 0) { + if (Array.isArray(ioPackage.common.authors)) { + expect(ioPackage.common.authors.length, 'ERROR: Author in io-package.json needs to be set').to.not.be.equal(0); + if (ioPackage.common.authors.length === 1) { + expect(ioPackage.common.authors[0], 'ERROR: Author in io-package.json needs to be a real name').to.not.be.equal('my Name '); + } + } + else { + expect(ioPackage.common.authors, 'ERROR: Author in io-package.json needs to be a real name').to.not.be.equal('my Name '); + } + } + else { + console.log('WARNING: Testing for set authors field in io-package skipped because template adapter'); + console.log(); + } + expect(fs.existsSync(__dirname + '/../README.md'), 'ERROR: README.md needs to exist! Please create one with description, detail information and changelog. English is mandatory.').to.be.true; + if (!ioPackage.common.titleLang || typeof ioPackage.common.titleLang !== 'object') { + console.log('WARNING: titleLang is not existing in io-package.json. Please add'); + console.log(); + } + if ( + ioPackage.common.title.indexOf('yunkong2') !== -1 || + ioPackage.common.title.indexOf('yunkong2') !== -1 || + ioPackage.common.title.indexOf('adapter') !== -1 || + ioPackage.common.title.indexOf('Adapter') !== -1 + ) { + console.log('WARNING: title contains Adapter or yunkong2. It is clear anyway, that it is adapter for yunkong2.'); + console.log(); + } + + if (ioPackage.common.name.indexOf('vis-') !== 0) { + if (!ioPackage.common.materialize || !fs.existsSync(__dirname + '/../admin/index_m.html') || !fs.existsSync(__dirname + '/../gulpfile.js')) { + console.log('WARNING: Admin3 support is missing! Please add it'); + console.log(); + } + if (ioPackage.common.materialize) { + expect(fs.existsSync(__dirname + '/../admin/index_m.html'), 'Admin3 support is enabled in io-package.json, but index_m.html is missing!').to.be.true; + } + } + + var licenseFileExists = fs.existsSync(__dirname + '/../LICENSE'); + var fileContentReadme = fs.readFileSync(__dirname + '/../README.md', 'utf8'); + if (fileContentReadme.indexOf('## Changelog') === -1) { + console.log('Warning: The README.md should have a section ## Changelog'); + console.log(); + } + expect((licenseFileExists || fileContentReadme.indexOf('## License') !== -1), 'A LICENSE must exist as LICENSE file or as part of the README.md').to.be.true; + if (!licenseFileExists) { + console.log('Warning: The License should also exist as LICENSE file'); + console.log(); + } + if (fileContentReadme.indexOf('## License') === -1) { + console.log('Warning: The README.md should also have a section ## License to be shown in Admin3'); + console.log(); + } + done(); + }); +}); diff --git a/widgets/jqui-mfd.html b/widgets/jqui-mfd.html new file mode 100755 index 0000000..55274dd --- /dev/null +++ b/widgets/jqui-mfd.html @@ -0,0 +1,2318 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/doc.html b/widgets/jqui-mfd/doc.html new file mode 100644 index 0000000..ee4fe51 --- /dev/null +++ b/widgets/jqui-mfd/doc.html @@ -0,0 +1,178 @@ + + + + Dokumentation Widget-Set jqui-mfd + + + +

hm_val - Light/Dimmer

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_ctrl - Light

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_ctrl - Light + jqui Dialog

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_ctrl - Dimmer + jqui Dialog

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_val - Socket

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_ctrl - Socket

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_val - Shutter

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_ctrl - Shutter + jqui Dialog

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_ctrl - Heizung + jqui Dialog

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_val - Fenster Drehgriff

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_val - Fenster

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_val - Dachfenster

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_val - Türe

+ +

Attribute

+
+ +
+
+ + +
+ + +

hm_val - Garage

+ +

Attribute

+
+ +
+
+ + +
+ + + + + \ No newline at end of file diff --git a/widgets/jqui-mfd/img/Prev_Dimmer_jquiDialog.png b/widgets/jqui-mfd/img/Prev_Dimmer_jquiDialog.png new file mode 100644 index 0000000..8f189d6 Binary files /dev/null and b/widgets/jqui-mfd/img/Prev_Dimmer_jquiDialog.png differ diff --git a/widgets/jqui-mfd/img/Prev_Light_jquiDialog.png b/widgets/jqui-mfd/img/Prev_Light_jquiDialog.png new file mode 100644 index 0000000..2c1169e Binary files /dev/null and b/widgets/jqui-mfd/img/Prev_Light_jquiDialog.png differ diff --git a/widgets/jqui-mfd/img/authors.txt b/widgets/jqui-mfd/img/authors.txt new file mode 100644 index 0000000..4b502b6 --- /dev/null +++ b/widgets/jqui-mfd/img/authors.txt @@ -0,0 +1,7 @@ +KNX-User-Forum +http://knx-user-forum.de + +mfd.gfx@gmail.com + +User: +mfd diff --git a/widgets/jqui-mfd/img/fts_door.png b/widgets/jqui-mfd/img/fts_door.png new file mode 100644 index 0000000..7577d0a Binary files /dev/null and b/widgets/jqui-mfd/img/fts_door.png differ diff --git a/widgets/jqui-mfd/img/fts_door.svg b/widgets/jqui-mfd/img/fts_door.svg new file mode 100644 index 0000000..7f5887b --- /dev/null +++ b/widgets/jqui-mfd/img/fts_door.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_door_open.png b/widgets/jqui-mfd/img/fts_door_open.png new file mode 100644 index 0000000..a0e23ca Binary files /dev/null and b/widgets/jqui-mfd/img/fts_door_open.png differ diff --git a/widgets/jqui-mfd/img/fts_door_open.svg b/widgets/jqui-mfd/img/fts_door_open.svg new file mode 100644 index 0000000..893a57b --- /dev/null +++ b/widgets/jqui-mfd/img/fts_door_open.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_door_tilt.png b/widgets/jqui-mfd/img/fts_door_tilt.png new file mode 100644 index 0000000..d616ce8 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_door_tilt.png differ diff --git a/widgets/jqui-mfd/img/fts_door_tilt.svg b/widgets/jqui-mfd/img/fts_door_tilt.svg new file mode 100644 index 0000000..d5b3079 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_door_tilt.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_garage_door_10.png b/widgets/jqui-mfd/img/fts_garage_door_10.png new file mode 100644 index 0000000..44c73f0 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_garage_door_10.png differ diff --git a/widgets/jqui-mfd/img/fts_garage_door_10.svg b/widgets/jqui-mfd/img/fts_garage_door_10.svg new file mode 100644 index 0000000..3d6eb8f --- /dev/null +++ b/widgets/jqui-mfd/img/fts_garage_door_10.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_garage_door_100.png b/widgets/jqui-mfd/img/fts_garage_door_100.png new file mode 100644 index 0000000..f41a0a4 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_garage_door_100.png differ diff --git a/widgets/jqui-mfd/img/fts_garage_door_100.svg b/widgets/jqui-mfd/img/fts_garage_door_100.svg new file mode 100644 index 0000000..f1ebe71 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_garage_door_100.svg @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_markise_0.png b/widgets/jqui-mfd/img/fts_markise_0.png new file mode 100644 index 0000000..a464778 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_markise_0.png differ diff --git a/widgets/jqui-mfd/img/fts_markise_0.svg b/widgets/jqui-mfd/img/fts_markise_0.svg new file mode 100644 index 0000000..28fe0c4 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_markise_0.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_markise_100.png b/widgets/jqui-mfd/img/fts_markise_100.png new file mode 100644 index 0000000..1004202 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_markise_100.png differ diff --git a/widgets/jqui-mfd/img/fts_markise_100.svg b/widgets/jqui-mfd/img/fts_markise_100.svg new file mode 100644 index 0000000..f822706 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_markise_100.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_markise_25.png b/widgets/jqui-mfd/img/fts_markise_25.png new file mode 100644 index 0000000..fb27a96 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_markise_25.png differ diff --git a/widgets/jqui-mfd/img/fts_markise_25.svg b/widgets/jqui-mfd/img/fts_markise_25.svg new file mode 100644 index 0000000..6d21f9c --- /dev/null +++ b/widgets/jqui-mfd/img/fts_markise_25.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_markise_50.png b/widgets/jqui-mfd/img/fts_markise_50.png new file mode 100644 index 0000000..64dece0 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_markise_50.png differ diff --git a/widgets/jqui-mfd/img/fts_markise_50.svg b/widgets/jqui-mfd/img/fts_markise_50.svg new file mode 100644 index 0000000..dcb7b51 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_markise_50.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_markise_75.png b/widgets/jqui-mfd/img/fts_markise_75.png new file mode 100644 index 0000000..a618ce4 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_markise_75.png differ diff --git a/widgets/jqui-mfd/img/fts_markise_75.svg b/widgets/jqui-mfd/img/fts_markise_75.svg new file mode 100644 index 0000000..bfb26ba --- /dev/null +++ b/widgets/jqui-mfd/img/fts_markise_75.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_shutter_10.png b/widgets/jqui-mfd/img/fts_shutter_10.png new file mode 100644 index 0000000..64c2886 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_shutter_10.png differ diff --git a/widgets/jqui-mfd/img/fts_shutter_10.svg b/widgets/jqui-mfd/img/fts_shutter_10.svg new file mode 100644 index 0000000..6793ebd --- /dev/null +++ b/widgets/jqui-mfd/img/fts_shutter_10.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_shutter_100.png b/widgets/jqui-mfd/img/fts_shutter_100.png new file mode 100644 index 0000000..a3e1cac Binary files /dev/null and b/widgets/jqui-mfd/img/fts_shutter_100.png differ diff --git a/widgets/jqui-mfd/img/fts_shutter_100.svg b/widgets/jqui-mfd/img/fts_shutter_100.svg new file mode 100644 index 0000000..4939031 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_shutter_100.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_shutter_20.png b/widgets/jqui-mfd/img/fts_shutter_20.png new file mode 100644 index 0000000..a7c391c Binary files /dev/null and b/widgets/jqui-mfd/img/fts_shutter_20.png differ diff --git a/widgets/jqui-mfd/img/fts_shutter_20.svg b/widgets/jqui-mfd/img/fts_shutter_20.svg new file mode 100644 index 0000000..da1d9bc --- /dev/null +++ b/widgets/jqui-mfd/img/fts_shutter_20.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_shutter_30.png b/widgets/jqui-mfd/img/fts_shutter_30.png new file mode 100644 index 0000000..64dda84 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_shutter_30.png differ diff --git a/widgets/jqui-mfd/img/fts_shutter_30.svg b/widgets/jqui-mfd/img/fts_shutter_30.svg new file mode 100644 index 0000000..454e546 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_shutter_30.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_shutter_40.png b/widgets/jqui-mfd/img/fts_shutter_40.png new file mode 100644 index 0000000..0804333 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_shutter_40.png differ diff --git a/widgets/jqui-mfd/img/fts_shutter_40.svg b/widgets/jqui-mfd/img/fts_shutter_40.svg new file mode 100644 index 0000000..44148fd --- /dev/null +++ b/widgets/jqui-mfd/img/fts_shutter_40.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_shutter_50.png b/widgets/jqui-mfd/img/fts_shutter_50.png new file mode 100644 index 0000000..c1c1286 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_shutter_50.png differ diff --git a/widgets/jqui-mfd/img/fts_shutter_50.svg b/widgets/jqui-mfd/img/fts_shutter_50.svg new file mode 100644 index 0000000..286e6a2 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_shutter_50.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_shutter_60.png b/widgets/jqui-mfd/img/fts_shutter_60.png new file mode 100644 index 0000000..9939fe1 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_shutter_60.png differ diff --git a/widgets/jqui-mfd/img/fts_shutter_60.svg b/widgets/jqui-mfd/img/fts_shutter_60.svg new file mode 100644 index 0000000..1f86f06 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_shutter_60.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_shutter_70.png b/widgets/jqui-mfd/img/fts_shutter_70.png new file mode 100644 index 0000000..f1b8a78 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_shutter_70.png differ diff --git a/widgets/jqui-mfd/img/fts_shutter_70.svg b/widgets/jqui-mfd/img/fts_shutter_70.svg new file mode 100644 index 0000000..c7c9b47 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_shutter_70.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_shutter_80.png b/widgets/jqui-mfd/img/fts_shutter_80.png new file mode 100644 index 0000000..2a1a37c Binary files /dev/null and b/widgets/jqui-mfd/img/fts_shutter_80.png differ diff --git a/widgets/jqui-mfd/img/fts_shutter_80.svg b/widgets/jqui-mfd/img/fts_shutter_80.svg new file mode 100644 index 0000000..57d1407 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_shutter_80.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_shutter_90.png b/widgets/jqui-mfd/img/fts_shutter_90.png new file mode 100644 index 0000000..78c5ae3 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_shutter_90.png differ diff --git a/widgets/jqui-mfd/img/fts_shutter_90.svg b/widgets/jqui-mfd/img/fts_shutter_90.svg new file mode 100644 index 0000000..b7e52ff --- /dev/null +++ b/widgets/jqui-mfd/img/fts_shutter_90.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_window_1w.png b/widgets/jqui-mfd/img/fts_window_1w.png new file mode 100644 index 0000000..8e684bb Binary files /dev/null and b/widgets/jqui-mfd/img/fts_window_1w.png differ diff --git a/widgets/jqui-mfd/img/fts_window_1w.svg b/widgets/jqui-mfd/img/fts_window_1w.svg new file mode 100644 index 0000000..141f6dc --- /dev/null +++ b/widgets/jqui-mfd/img/fts_window_1w.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_window_1w_open.png b/widgets/jqui-mfd/img/fts_window_1w_open.png new file mode 100644 index 0000000..003cdd9 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_window_1w_open.png differ diff --git a/widgets/jqui-mfd/img/fts_window_1w_open.svg b/widgets/jqui-mfd/img/fts_window_1w_open.svg new file mode 100644 index 0000000..d53df8f --- /dev/null +++ b/widgets/jqui-mfd/img/fts_window_1w_open.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_window_1w_tilt.png b/widgets/jqui-mfd/img/fts_window_1w_tilt.png new file mode 100644 index 0000000..7e90b21 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_window_1w_tilt.png differ diff --git a/widgets/jqui-mfd/img/fts_window_1w_tilt.svg b/widgets/jqui-mfd/img/fts_window_1w_tilt.svg new file mode 100644 index 0000000..dd75bd4 --- /dev/null +++ b/widgets/jqui-mfd/img/fts_window_1w_tilt.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_window_2w.png b/widgets/jqui-mfd/img/fts_window_2w.png new file mode 100644 index 0000000..aa48435 Binary files /dev/null and b/widgets/jqui-mfd/img/fts_window_2w.png differ diff --git a/widgets/jqui-mfd/img/fts_window_2w.svg b/widgets/jqui-mfd/img/fts_window_2w.svg new file mode 100644 index 0000000..2e7b14a --- /dev/null +++ b/widgets/jqui-mfd/img/fts_window_2w.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_window_roof.png b/widgets/jqui-mfd/img/fts_window_roof.png new file mode 100644 index 0000000..283b4de Binary files /dev/null and b/widgets/jqui-mfd/img/fts_window_roof.png differ diff --git a/widgets/jqui-mfd/img/fts_window_roof.svg b/widgets/jqui-mfd/img/fts_window_roof.svg new file mode 100644 index 0000000..c5d456c --- /dev/null +++ b/widgets/jqui-mfd/img/fts_window_roof.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/fts_window_roof_open_2.png b/widgets/jqui-mfd/img/fts_window_roof_open_2.png new file mode 100644 index 0000000..31b7c7b Binary files /dev/null and b/widgets/jqui-mfd/img/fts_window_roof_open_2.png differ diff --git a/widgets/jqui-mfd/img/fts_window_roof_open_2.svg b/widgets/jqui-mfd/img/fts_window_roof_open_2.svg new file mode 100644 index 0000000..eba81aa --- /dev/null +++ b/widgets/jqui-mfd/img/fts_window_roof_open_2.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/it_camera.png b/widgets/jqui-mfd/img/it_camera.png new file mode 100644 index 0000000..f5f0056 Binary files /dev/null and b/widgets/jqui-mfd/img/it_camera.png differ diff --git a/widgets/jqui-mfd/img/it_camera.svg b/widgets/jqui-mfd/img/it_camera.svg new file mode 100644 index 0000000..f5860b2 --- /dev/null +++ b/widgets/jqui-mfd/img/it_camera.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/license.txt b/widgets/jqui-mfd/img/license.txt new file mode 100644 index 0000000..c03441e --- /dev/null +++ b/widgets/jqui-mfd/img/license.txt @@ -0,0 +1,2 @@ +http://creativecommons.org/licenses/by-sa/3.0/de/ +Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 3.0 Deutschland Lizenz \ No newline at end of file diff --git a/widgets/jqui-mfd/img/light_light_dim.png b/widgets/jqui-mfd/img/light_light_dim.png new file mode 100644 index 0000000..8ec940c Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim.svg b/widgets/jqui-mfd/img/light_light_dim.svg new file mode 100644 index 0000000..e0d1a07 --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim.svg @@ -0,0 +1,37 @@ + + + background + + + + + Layer 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/light_light_dim_00.png b/widgets/jqui-mfd/img/light_light_dim_00.png new file mode 100644 index 0000000..5df5538 Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim_00.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim_00.svg b/widgets/jqui-mfd/img/light_light_dim_00.svg new file mode 100644 index 0000000..e47deb3 --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim_00.svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/light_light_dim_10.png b/widgets/jqui-mfd/img/light_light_dim_10.png new file mode 100644 index 0000000..6f64274 Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim_10.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim_10.svg b/widgets/jqui-mfd/img/light_light_dim_10.svg new file mode 100644 index 0000000..12ed72e --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim_10.svg @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/light_light_dim_100.png b/widgets/jqui-mfd/img/light_light_dim_100.png new file mode 100644 index 0000000..76b33c7 Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim_100.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim_100.svg b/widgets/jqui-mfd/img/light_light_dim_100.svg new file mode 100644 index 0000000..8ea616b --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim_100.svg @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/light_light_dim_20.png b/widgets/jqui-mfd/img/light_light_dim_20.png new file mode 100644 index 0000000..c846f67 Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim_20.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim_20.svg b/widgets/jqui-mfd/img/light_light_dim_20.svg new file mode 100644 index 0000000..16f9e5d --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim_20.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/light_light_dim_30.png b/widgets/jqui-mfd/img/light_light_dim_30.png new file mode 100644 index 0000000..a40b202 Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim_30.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim_30.svg b/widgets/jqui-mfd/img/light_light_dim_30.svg new file mode 100644 index 0000000..978033d --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim_30.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/light_light_dim_40.png b/widgets/jqui-mfd/img/light_light_dim_40.png new file mode 100644 index 0000000..e09969d Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim_40.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim_40.svg b/widgets/jqui-mfd/img/light_light_dim_40.svg new file mode 100644 index 0000000..cce742c --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim_40.svg @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/light_light_dim_50.png b/widgets/jqui-mfd/img/light_light_dim_50.png new file mode 100644 index 0000000..184ee64 Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim_50.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim_50.svg b/widgets/jqui-mfd/img/light_light_dim_50.svg new file mode 100644 index 0000000..02e90c7 --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim_50.svg @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/light_light_dim_60.png b/widgets/jqui-mfd/img/light_light_dim_60.png new file mode 100644 index 0000000..a3b10ce Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim_60.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim_60.svg b/widgets/jqui-mfd/img/light_light_dim_60.svg new file mode 100644 index 0000000..bcabd96 --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim_60.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/light_light_dim_70.png b/widgets/jqui-mfd/img/light_light_dim_70.png new file mode 100644 index 0000000..7a4fbc0 Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim_70.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim_70.svg b/widgets/jqui-mfd/img/light_light_dim_70.svg new file mode 100644 index 0000000..4cca3de --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim_70.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/light_light_dim_80.png b/widgets/jqui-mfd/img/light_light_dim_80.png new file mode 100644 index 0000000..30877f4 Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim_80.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim_80.svg b/widgets/jqui-mfd/img/light_light_dim_80.svg new file mode 100644 index 0000000..2496d15 --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim_80.svg @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/light_light_dim_90.png b/widgets/jqui-mfd/img/light_light_dim_90.png new file mode 100644 index 0000000..ad7c0b5 Binary files /dev/null and b/widgets/jqui-mfd/img/light_light_dim_90.png differ diff --git a/widgets/jqui-mfd/img/light_light_dim_90.svg b/widgets/jqui-mfd/img/light_light_dim_90.svg new file mode 100644 index 0000000..bec309b --- /dev/null +++ b/widgets/jqui-mfd/img/light_light_dim_90.svg @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/message_socket_off.png b/widgets/jqui-mfd/img/message_socket_off.png new file mode 100644 index 0000000..69bba0a Binary files /dev/null and b/widgets/jqui-mfd/img/message_socket_off.png differ diff --git a/widgets/jqui-mfd/img/message_socket_off.svg b/widgets/jqui-mfd/img/message_socket_off.svg new file mode 100644 index 0000000..5fc124f --- /dev/null +++ b/widgets/jqui-mfd/img/message_socket_off.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/message_socket_on.png b/widgets/jqui-mfd/img/message_socket_on.png new file mode 100644 index 0000000..bb1bb18 Binary files /dev/null and b/widgets/jqui-mfd/img/message_socket_on.png differ diff --git a/widgets/jqui-mfd/img/message_socket_on.svg b/widgets/jqui-mfd/img/message_socket_on.svg new file mode 100644 index 0000000..3715e31 --- /dev/null +++ b/widgets/jqui-mfd/img/message_socket_on.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_heating_temp.png b/widgets/jqui-mfd/img/sani_heating_temp.png new file mode 100644 index 0000000..883c891 Binary files /dev/null and b/widgets/jqui-mfd/img/sani_heating_temp.png differ diff --git a/widgets/jqui-mfd/img/sani_heating_temp.svg b/widgets/jqui-mfd/img/sani_heating_temp.svg new file mode 100644 index 0000000..330cdf2 --- /dev/null +++ b/widgets/jqui-mfd/img/sani_heating_temp.svg @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_0.png b/widgets/jqui-mfd/img/sani_valve_0.png new file mode 100644 index 0000000..771f322 Binary files /dev/null and b/widgets/jqui-mfd/img/sani_valve_0.png differ diff --git a/widgets/jqui-mfd/img/sani_valve_0.svg b/widgets/jqui-mfd/img/sani_valve_0.svg new file mode 100644 index 0000000..e85c843 --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_0.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_10.png b/widgets/jqui-mfd/img/sani_valve_10.png new file mode 100644 index 0000000..5288b96 Binary files /dev/null and b/widgets/jqui-mfd/img/sani_valve_10.png differ diff --git a/widgets/jqui-mfd/img/sani_valve_10.svg b/widgets/jqui-mfd/img/sani_valve_10.svg new file mode 100644 index 0000000..fbbe008 --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_10.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_100.png b/widgets/jqui-mfd/img/sani_valve_100.png new file mode 100644 index 0000000..a4b9856 Binary files /dev/null and b/widgets/jqui-mfd/img/sani_valve_100.png differ diff --git a/widgets/jqui-mfd/img/sani_valve_100.svg b/widgets/jqui-mfd/img/sani_valve_100.svg new file mode 100644 index 0000000..e03429c --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_100.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_20.png b/widgets/jqui-mfd/img/sani_valve_20.png new file mode 100644 index 0000000..5080fc0 Binary files /dev/null and b/widgets/jqui-mfd/img/sani_valve_20.png differ diff --git a/widgets/jqui-mfd/img/sani_valve_20.svg b/widgets/jqui-mfd/img/sani_valve_20.svg new file mode 100644 index 0000000..34e018a --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_20.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_30.png b/widgets/jqui-mfd/img/sani_valve_30.png new file mode 100644 index 0000000..c159df3 Binary files /dev/null and b/widgets/jqui-mfd/img/sani_valve_30.png differ diff --git a/widgets/jqui-mfd/img/sani_valve_30.svg b/widgets/jqui-mfd/img/sani_valve_30.svg new file mode 100644 index 0000000..39b0754 --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_30.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_40.png b/widgets/jqui-mfd/img/sani_valve_40.png new file mode 100644 index 0000000..cb01d7e Binary files /dev/null and b/widgets/jqui-mfd/img/sani_valve_40.png differ diff --git a/widgets/jqui-mfd/img/sani_valve_40.svg b/widgets/jqui-mfd/img/sani_valve_40.svg new file mode 100644 index 0000000..ad47b19 --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_40.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_50.png b/widgets/jqui-mfd/img/sani_valve_50.png new file mode 100644 index 0000000..436205d Binary files /dev/null and b/widgets/jqui-mfd/img/sani_valve_50.png differ diff --git a/widgets/jqui-mfd/img/sani_valve_50.svg b/widgets/jqui-mfd/img/sani_valve_50.svg new file mode 100644 index 0000000..e6f6af1 --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_50.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_60.png b/widgets/jqui-mfd/img/sani_valve_60.png new file mode 100644 index 0000000..c79fed0 Binary files /dev/null and b/widgets/jqui-mfd/img/sani_valve_60.png differ diff --git a/widgets/jqui-mfd/img/sani_valve_60.svg b/widgets/jqui-mfd/img/sani_valve_60.svg new file mode 100644 index 0000000..f30c0c9 --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_60.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_70.png b/widgets/jqui-mfd/img/sani_valve_70.png new file mode 100644 index 0000000..4ad7fb0 Binary files /dev/null and b/widgets/jqui-mfd/img/sani_valve_70.png differ diff --git a/widgets/jqui-mfd/img/sani_valve_70.svg b/widgets/jqui-mfd/img/sani_valve_70.svg new file mode 100644 index 0000000..4282bfc --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_70.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_80.png b/widgets/jqui-mfd/img/sani_valve_80.png new file mode 100644 index 0000000..5560331 Binary files /dev/null and b/widgets/jqui-mfd/img/sani_valve_80.png differ diff --git a/widgets/jqui-mfd/img/sani_valve_80.svg b/widgets/jqui-mfd/img/sani_valve_80.svg new file mode 100644 index 0000000..3bf34b5 --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_80.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_90.png b/widgets/jqui-mfd/img/sani_valve_90.png new file mode 100644 index 0000000..310ec87 Binary files /dev/null and b/widgets/jqui-mfd/img/sani_valve_90.png differ diff --git a/widgets/jqui-mfd/img/sani_valve_90.svg b/widgets/jqui-mfd/img/sani_valve_90.svg new file mode 100644 index 0000000..7801e80 --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_90.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widgets/jqui-mfd/img/sani_valve_custom.svg b/widgets/jqui-mfd/img/sani_valve_custom.svg new file mode 100644 index 0000000..46b8413 --- /dev/null +++ b/widgets/jqui-mfd/img/sani_valve_custom.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + +