cob-cli 2.8.1 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/customizations/dashboard.dash.js +11 -0
  2. package/customizations/dashboard.js +1 -0
  3. package/customizations/dashboard.simple.js +1 -1
  4. package/customizations/dashboard.vue.empty.js +1 -1
  5. package/lib/task_lists/customize_copy.js +7 -6
  6. package/package.json +1 -1
  7. package/templates/{cob-dashboard-html → dashboards/cob-dashboard-html}/demoDashboard.html +0 -0
  8. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/package-lock.json +0 -0
  9. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/package.json +0 -0
  10. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/src/App.vue +0 -0
  11. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/src/dashboard.html +0 -0
  12. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/src/main.js +0 -0
  13. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/src/plugins/cobUiVueComponents.js +0 -0
  14. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/src/plugins/vuetify.js +0 -0
  15. package/templates/{cob-dashboard-vue → dashboards/cob-dashboard-vue}/vue.config.js +0 -0
  16. package/templates/dashboards/dash/dist/css/app.a16bfc97.css +8 -0
  17. package/templates/dashboards/dash/dist/dashboard.html +20 -0
  18. package/templates/dashboards/dash/dist/fonts/fa-brands-400.a78ffbbe.ttf +0 -0
  19. package/templates/dashboards/dash/dist/fonts/fa-brands-400.cd2b4095.woff2 +0 -0
  20. package/templates/dashboards/dash/dist/fonts/fa-regular-400.b1a1bebb.ttf +0 -0
  21. package/templates/dashboards/dash/dist/fonts/fa-regular-400.e8a1ba41.woff2 +0 -0
  22. package/templates/dashboards/dash/dist/fonts/fa-solid-900.55b416a8.woff2 +0 -0
  23. package/templates/dashboards/dash/dist/fonts/fa-solid-900.73820155.ttf +0 -0
  24. package/templates/dashboards/dash/dist/fonts/fa-v4compatibility.0d6f5f18.ttf +0 -0
  25. package/templates/dashboards/dash/dist/fonts/fa-v4compatibility.786e6b33.woff2 +0 -0
  26. package/templates/dashboards/dash/dist/js/app.b5565900.js +188 -0
  27. package/templates/dashboards/dash/dist/js/app.b5565900.js.map +1 -0
  28. package/templates/dashboards/dash/package-lock.json +24340 -0
  29. package/templates/dashboards/dash/package.json +19 -0
  30. package/templates/dashboards/dash/src/App.vue +258 -0
  31. package/templates/dashboards/dash/src/Dashboard.vue +46 -0
  32. package/templates/dashboards/dash/src/assets/css/all.min.css +6 -0
  33. package/templates/dashboards/dash/src/assets/webfonts/fa-brands-400.ttf +0 -0
  34. package/templates/dashboards/dash/src/assets/webfonts/fa-brands-400.woff2 +0 -0
  35. package/templates/dashboards/dash/src/assets/webfonts/fa-regular-400.ttf +0 -0
  36. package/templates/dashboards/dash/src/assets/webfonts/fa-regular-400.woff2 +0 -0
  37. package/templates/dashboards/dash/src/assets/webfonts/fa-solid-900.ttf +0 -0
  38. package/templates/dashboards/dash/src/assets/webfonts/fa-solid-900.woff2 +0 -0
  39. package/templates/dashboards/dash/src/assets/webfonts/fa-v4compatibility.ttf +0 -0
  40. package/templates/dashboards/dash/src/assets/webfonts/fa-v4compatibility.woff2 +0 -0
  41. package/templates/dashboards/dash/src/collector.js +3782 -0
  42. package/templates/dashboards/dash/src/components/Board.vue +49 -0
  43. package/templates/dashboards/dash/src/components/BoardsNav.vue +23 -0
  44. package/templates/dashboards/dash/src/components/BoardsPage.vue +36 -0
  45. package/templates/dashboards/dash/src/components/Menu.vue +19 -0
  46. package/templates/dashboards/dash/src/components/Title.vue +13 -0
  47. package/templates/dashboards/dash/src/components/Totals.vue +53 -0
  48. package/templates/dashboards/dash/src/components/TotalsBadge.vue +69 -0
  49. package/templates/dashboards/dash/src/dashboard.html +34 -0
  50. package/templates/dashboards/dash/src/input.css +9 -0
  51. package/templates/dashboards/dash/src/main.js +11 -0
  52. package/templates/dashboards/dash/src/output.css +1142 -0
  53. package/templates/dashboards/dash/tailwind.config.js +13 -0
  54. package/templates/dashboards/dash/vue.config.js +104 -0
  55. package/templates/frontend/common/css/_dashboard.css +7 -0
  56. package/templates/frontend/common/css/_global.css +3 -2
@@ -0,0 +1,13 @@
1
+ module.exports = {
2
+ content: ["./src/**/*.{html,js,vue}", "./src/*.{html,js,vue}"],
3
+ theme: {
4
+ extend: {
5
+ colors: {
6
+ 'cobbg': '#fda1e004',
7
+ 'cobline': '#cdcac4',
8
+ 'error': 'rgb(239 68 68)'
9
+ },
10
+ },
11
+ },
12
+ plugins: [],
13
+ }
@@ -0,0 +1,104 @@
1
+ let DASH_DIR = process.env.dash_dir
2
+ let SERVER = process.env.server
3
+
4
+ if(!process.env.dash_dir || !SERVER) {
5
+ // Provavelmente corrido via 'npm run serve' e não tenha variáveis de ambiente definidas
6
+ console.log("LOCAL 'npm run serve' ON OWN DIRECTORY ASSUMPTION")
7
+
8
+ let pwd = process.env.PWD
9
+ DASH_DIR = pwd.substring(pwd.lastIndexOf("/")+1)
10
+
11
+ let localSubPosition = pwd.indexOf("/recordm/customUI")
12
+ let serverFile = (localSubPosition > 0 ? pwd.substring(0,localSubPosition) : ".") + "/.server"
13
+ try {
14
+ // Se estivermos dentro de um repo cob-cli então vamos conseguir obter o servidor a partir do '.server' na raiz do repo
15
+ SERVER = "https://" + require('fs').readFileSync(serverFile, 'utf8') + ".cultofbits.com";
16
+ } catch {
17
+ // se não conseguirmos usamos a máquina de formação como default
18
+ SERVER = "https://learning.cultofbits.com";
19
+ console.warn("Warning: file '.server' not found. Using " + SERVER + " as backend" )
20
+ }
21
+ }
22
+
23
+ module.exports = {
24
+ // temos que fixar o directorio onde colocamos o build,
25
+ // para podermos usar o dashboard.html que é gerado sem o editar
26
+ // NOTA: o path relativo não funciona bem com o npm run serve
27
+ // mas queremos que o build seja relativo, para ser mais fléxivel
28
+ publicPath: process.env.NODE_ENV === 'production'
29
+ ? './localresource/' + DASH_DIR + '/dist/'
30
+ : '/' + DASH_DIR,
31
+
32
+ // seguindo https://cli.vuejs.org/guide/webpack.html
33
+ chainWebpack: config => {
34
+ // para não termos chunks
35
+ config.optimization.delete('splitChunks');
36
+
37
+ // fazemos assim em vez de usar o pages, que confunde o publicPath
38
+ config
39
+ .plugin('html')
40
+ .tap(args => {
41
+ args[0].template = 'src/dashboard.html' // Isto permite ler o ficheiro daqui em vez do default public/index.html
42
+ args[0].filename = 'dashboard.html' // Isto indica que o nome no url será dashboard.html em vez de index.html
43
+ args[0].inject = false // Não queremos inject automático pois o nosso src/dashboard.html sabe lidar com página isolado ou integrado no recordm. TODO: considerar permitir ainda shared vue e vuetify em vez de embebido (o actual). Ver NOTA abaixo.
44
+ args[0].minify = true
45
+ args[0].rmIntegrated = process.env.dash_dir || process.env.NODE_ENV === 'production' // Esta é a variável utilizada dentro do src/dashboard.html para saber qual o render a utilizar (isolado ou integrado). Deve ser integrado quer quando corrido via cob-cli test -d <dashboard> quer quando é feito o build.
46
+ return args
47
+ })
48
+ },
49
+
50
+ // NOTA: Código comentado porque abandonamos a opção de usar ficheiros partilhados. Se quisermos reverter isto é necessário:
51
+ // configureWebpack: {
52
+ // // deve ser igual ao que é usado no afterDeps do public/dashboard.html
53
+ // // Se for LOCAL temos de usar os locais
54
+ // externals: LOCAL ? {} : {
55
+ // vue: 'Vue',
56
+ // vuetify: 'Vuetify',
57
+ // axios: 'axios',
58
+ // marked: 'marked'
59
+ // },
60
+ // },
61
+
62
+ devServer: {
63
+ port: 8041,
64
+ before: function(app) {
65
+ app.get('/*', function(req, res, next) {
66
+ // Permite usar / ou /DASH_BOARD/ quando acedido directamente
67
+ if(req.url != "/" && req.url != '/'+DASH_DIR+'/') {
68
+ return next();
69
+ }
70
+
71
+ res.redirect(`/${DASH_DIR}/dashboard.html`);
72
+ });
73
+ },
74
+ proxy: {
75
+ [ "/recordm/localresource/" + DASH_DIR + "/dist"]: {
76
+ // Isto serve o propósito de rescrever os pedidos feitos via url final para o url local.
77
+ // Tem o defeito de apenas funcionar quando o devserver está a funcionar no 8041.
78
+ // Ou seja, não suporta mais que um vue-cli-service a funcionar ao mesmo tempo (apenas 1 estará a funcionar correctamente)
79
+ // TODO: idealmente seria feito sem ser via proxy (talvez via url-loader rewrite ??)
80
+ target: "http://localhost:8041",
81
+ pathRewrite: path => path.replace("/recordm/localresource/" + DASH_DIR + "/dist","/" + DASH_DIR ),
82
+ bypass: function(req, res, proxyOptions) {
83
+ if(req.path.indexOf(DASH_DIR) > 0) {
84
+ console.log("[CoB] Serving DASHBOARD: " + req.path)
85
+ }
86
+ }
87
+ },
88
+ "^/userm|^/recordm|^/es|^/logm|^/kibana": {
89
+ target: SERVER,
90
+ ws: true,
91
+ changeOrigin: true,
92
+ bypass: function(req, res, proxyOptions) {
93
+ console.log("[CoB] Serving " + SERVER + ": " + req.path)
94
+ }
95
+ },
96
+ "/get_user_lang|/security|/localresource|/recordm|/user|/reportm|/cas": {
97
+ target: SERVER,
98
+ ws: true,
99
+ changeOrigin: true,
100
+ pathRewrite: path => path.replace("/recordm/recordm", "/recordm")
101
+ }
102
+ }
103
+ }
104
+ }
@@ -0,0 +1,7 @@
1
+ .cob-app #header .nav > li > a.js-menu-40795 {
2
+ visibility: hidden;
3
+ }
4
+ .cob-app #header .nav > li > a.js-menu-40795:after {
5
+ content: "Dashboard";
6
+ visibility: visible;
7
+ }
@@ -5,9 +5,10 @@
5
5
  .cob-app .instance-detail-container div.instance-container ol.fields > li > table > tbody > tr > td:nth-child(2) {
6
6
  min-width: 160px;
7
7
  }
8
+ /*
9
+ * Removido porque estraga, pelo menos, os $radio
8
10
  .cob-app .instance-detail-container div.instance-container ol.fields li > table > tbody > tr > td:nth-child(3),
9
11
  .cob-app .instance-detail-container div.instance-container ol.fields li > table > tbody > tr > td:nth-child(3) input {
10
12
  max-width: 230px;
11
13
  width: -webkit-fill-available;
12
- z-index: -1;
13
- }
14
+ } */