├── docs ├── icon.png ├── MyControls.PNG └── Table_offline.PNG ├── {2823CFDE-FEE3-4B14-A792-96E2201EEAB8} ├── control │ ├── icon.png │ ├── lib │ │ ├── dataTables.dataTables.min.js │ │ ├── select.dataTables.min.js │ │ ├── style.css │ │ ├── dataTables.bootstrap4.min.js │ │ ├── select.dataTables.min.css │ │ ├── dataTables.bootstrap4.min.css │ │ ├── dataTables.select.min.js │ │ ├── bootstrap.min.js │ │ └── jquery.dataTables.min.js │ ├── unified.interface.js │ ├── webcc.min.js │ └── index.html └── manifest.json └── README.md /docs/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/David-PLC/CWC-Table/HEAD/docs/icon.png -------------------------------------------------------------------------------- /docs/MyControls.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/David-PLC/CWC-Table/HEAD/docs/MyControls.PNG -------------------------------------------------------------------------------- /docs/Table_offline.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/David-PLC/CWC-Table/HEAD/docs/Table_offline.PNG -------------------------------------------------------------------------------- /{2823CFDE-FEE3-4B14-A792-96E2201EEAB8}/control/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/David-PLC/CWC-Table/HEAD/{2823CFDE-FEE3-4B14-A792-96E2201EEAB8}/control/icon.png -------------------------------------------------------------------------------- /{2823CFDE-FEE3-4B14-A792-96E2201EEAB8}/control/lib/dataTables.dataTables.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | DataTables styling integration 3 | ©2018 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return b(a,window,document)}):"object"===typeof exports?module.exports=function(a,c){a||(a=window);if(!c||!c.fn.dataTable)c=require("datatables.net")(a,c).$;return b(c,a,a.document)}:b(jQuery,window,document)})(function(b){return b.fn.dataTable}); 6 | -------------------------------------------------------------------------------- /{2823CFDE-FEE3-4B14-A792-96E2201EEAB8}/control/lib/select.dataTables.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | DataTables styling wrapper for Select 3 | ©2018 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-dt","datatables.net-select"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net-dt")(a,b).$;b.fn.dataTable.select||require("datatables.net-select")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){return c.fn.dataTable}); 6 | -------------------------------------------------------------------------------- /{2823CFDE-FEE3-4B14-A792-96E2201EEAB8}/control/lib/style.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | margin: 0 !important; 4 | padding: 0 !important; 5 | width: 100% !important; 6 | height: 100% !important; 7 | color: #51555C; 8 | font-family: "Montserrat", sans-serif; 9 | overflow: hidden; 10 | } 11 | 12 | .clickable { 13 | cursor: pointer; 14 | } 15 | 16 | .dsp-none { 17 | display: none !important; 18 | } 19 | 20 | .dsp-block { 21 | display: block !important; 22 | } 23 | 24 | .margin0 { 25 | margin: 0; 26 | } 27 | 28 | .padding0 { 29 | padding: 0; 30 | } 31 | 32 | #content, 33 | #tableSimple_wrapper { 34 | width: 100%; 35 | height: 100%; 36 | } 37 | 38 | tr { 39 | width: 100%; 40 | margin-right: 0px !important; 41 | margin-left: 0px !important; 42 | } 43 | 44 | th { 45 | padding: 12px 0 12px 4px; 46 | } 47 | 48 | td { 49 | padding: 6px 4px; 50 | } 51 | 52 | tr.selected { 53 | background-color: #A5B4BB !important; 54 | color: #4F535A !important; 55 | } 56 | 57 | tr.selected>.sorting_1, 58 | tr.selected>.sorting_2, 59 | tr.selected>.sorting_3 { 60 | background-color: transparent !important; 61 | } -------------------------------------------------------------------------------- /{2823CFDE-FEE3-4B14-A792-96E2201EEAB8}/control/unified.interface.js: -------------------------------------------------------------------------------- 1 | const _extensions = ['HMI']; 2 | const _timeout = 1000; 3 | const _contract = { 4 | methods: {}, 5 | events: [ 6 | 'ev_selectRow', 7 | 'ev_updateRows', 8 | 'ev_updateRow' 9 | ], 10 | properties: { 11 | 'select': false, 12 | 'pageLength': 0, 13 | 'columns': '[]', 14 | 'columnsEdit': '[]', 15 | 'columnsShow': '[]', 16 | 'rows': '[]', 17 | 'searching': false 18 | }, 19 | types: { 20 | "thColor": null, 21 | "tdColor": null, 22 | "selTdColor": null, 23 | "selTrColor": null 24 | } 25 | }; 26 | 27 | var UnifiedInterface = function () { 28 | var _initialize = function () { 29 | console.log('Comi-Table: UnifiedInterface initialized'); 30 | }; 31 | 32 | var _setProps = function (data) { 33 | console.log('Comi-Table: Key <', data.key, '>'); 34 | if (data.key === 'rows') { 35 | if (WebCC.Properties['rows'] != '[]' && WebCC.Properties['rows']!= null && WebCC.Properties['rows']!= '') { 36 | tableInit(WebCC.Properties); 37 | } 38 | } 39 | }; 40 | 41 | return { 42 | Local: { 43 | initialize: _initialize, 44 | setProps: _setProps 45 | }, 46 | HostListener: _contract 47 | }; 48 | }(); 49 | 50 | var unifiedInterfaceInit = function () { 51 | // Initialize 52 | UnifiedInterface.Local.initialize(); 53 | 54 | // Subscribe for value changes 55 | if (WebCC && WebCC.onPropertyChanged) { 56 | WebCC.onPropertyChanged.subscribe(UnifiedInterface.Local.setProps); 57 | } 58 | 59 | console.log('Comi-Table: properties', WebCC.Properties); 60 | }; -------------------------------------------------------------------------------- /{2823CFDE-FEE3-4B14-A792-96E2201EEAB8}/control/lib/dataTables.bootstrap4.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | DataTables Bootstrap 4 integration 3 | ©2011-2017 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return b(a,window,document)}):"object"===typeof exports?module.exports=function(a,d){a||(a=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(a,d).$;return b(d,a,a.document)}:b(jQuery,window,document)})(function(b,a,d,m){var f=b.fn.dataTable;b.extend(!0,f.defaults,{dom:"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", 6 | renderer:"bootstrap"});b.extend(f.ext.classes,{sWrapper:"dataTables_wrapper dt-bootstrap4",sFilterInput:"form-control form-control-sm",sLengthSelect:"custom-select custom-select-sm form-control form-control-sm",sProcessing:"dataTables_processing card",sPageButton:"paginate_button page-item"});f.ext.renderer.pageButton.bootstrap=function(a,h,r,s,j,n){var o=new f.Api(a),t=a.oClasses,k=a.oLanguage.oPaginate,u=a.oLanguage.oAria.paginate||{},e,g,p=0,q=function(d,f){var l,h,i,c,m=function(a){a.preventDefault(); 7 | !b(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&o.page(a.data.action).draw("page")};l=0;for(h=f.length;l", 8 | {"class":t.sPageButton+" "+g,id:0===r&&"string"===typeof c?a.sTableId+"_"+c:null}).append(b("",{href:"#","aria-controls":a.sTableId,"aria-label":u[c],"data-dt-idx":p,tabindex:a.iTabIndex,"class":"page-link"}).html(e)).appendTo(d),a.oApi._fnBindAction(i,{action:c},m),p++)}},i;try{i=b(h).find(d.activeElement).data("dt-idx")}catch(v){}q(b(h).empty().html('