@nixweb/nixloc-ui 0.0.119 → 0.0.122
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.
- package/docs/src/component/template/ModeloRelatorioView.drawio +160 -0
- package/docs/src/store/modulos/relatorio.drawio +37 -0
- package/package.json +77 -75
- package/public/index.html +2 -4
- package/public/styles/app.css +1 -2
- package/src/component/forms/{Botao.vue → Button.vue} +53 -57
- package/src/component/forms/CheckboxGroup.vue +63 -0
- package/src/component/forms/{CheckboxUnico.vue → CheckboxSimple.vue} +6 -6
- package/src/component/forms/{Cor.vue → Color.vue} +9 -9
- package/src/component/forms/DateTime.vue +53 -53
- package/src/component/forms/{BotaoDropdown.vue → Dropdown.vue} +50 -50
- package/src/component/forms/EditorHtml.vue +123 -0
- package/src/component/forms/FileUpload.vue +189 -0
- package/src/component/forms/InputDecimal.vue +137 -0
- package/src/component/forms/InputNumber.vue +149 -0
- package/src/component/forms/InputPassword.vue +135 -0
- package/src/component/forms/InputText.vue +157 -0
- package/src/component/forms/Modal.vue +15 -15
- package/src/component/forms/RadioGroup.vue +50 -0
- package/src/component/forms/Select.vue +337 -0
- package/src/component/forms/SelectStatic.vue +120 -0
- package/src/component/forms/TextArea.vue +126 -0
- package/src/component/forms/Toggle.vue +13 -13
- package/src/component/layout/{Conta.vue → Account.vue} +28 -28
- package/src/component/layout/{Alerta.vue → Alert.vue} +22 -22
- package/src/component/layout/Badge.vue +23 -23
- package/src/component/layout/{BarraFixa.vue → FixedBar.vue} +16 -16
- package/src/component/layout/{CarregandoTelaInteira.vue → LoadingFullPage.vue} +3 -3
- package/src/component/layout/Menu.vue +66 -66
- package/src/component/layout/{Moldura.vue → Molded.vue} +4 -4
- package/src/component/layout/Panel.vue +142 -0
- package/src/component/layout/Popover.vue +1 -1
- package/src/component/layout/{BarraRolagem.vue → Scrollbar.vue} +9 -11
- package/src/component/layout/Tag.vue +9 -9
- package/src/component/layout/Topo.vue +1 -1
- package/src/component/layout/Wizard.vue +3 -3
- package/src/component/shared/BotaoCarregarMais.vue +9 -9
- package/src/component/shared/BotaoConsulta.vue +9 -9
- package/src/component/shared/CabecalhoImpressao.vue +6 -6
- package/src/component/shared/CodigoEditor.vue +16 -16
- package/src/component/shared/Confirmacao.vue +28 -28
- package/src/component/shared/Dica.vue +10 -10
- package/src/component/shared/DocumentoEditor.vue +3 -3
- package/src/component/shared/DocumentoPreview.vue +2 -2
- package/src/component/shared/EsconderMostrar.vue +26 -26
- package/src/component/shared/ExportarExcel.vue +14 -14
- package/src/component/shared/ExportarPDF.vue +10 -10
- package/src/component/shared/FiltroHorizontal.vue +19 -19
- package/src/component/shared/LegendaParametro.vue +17 -17
- package/src/component/shared/{Carregando.vue → Loading.vue} +11 -11
- package/src/component/shared/Messages.vue +83 -0
- package/src/component/shared/Paginacao.vue +10 -10
- package/src/component/shared/Progresso.vue +2 -2
- package/src/component/shared/Registro.vue +2 -2
- package/src/component/shared/ResumoTabela.vue +6 -6
- package/src/component/shared/SalvarCancelar.vue +26 -26
- package/src/component/shared/{Pesquisa.vue → Search.vue} +36 -36
- package/src/component/shared/Tabela.vue +49 -49
- package/src/component/shared/TabelaBotao.vue +13 -13
- package/src/component/shared/Toast.vue +7 -7
- package/src/component/shared/{FiltroVertical.vue → VerticalFilter.vue} +14 -14
- package/src/component/shared/construtor-consulta/AdicionaFiltro.vue +191 -0
- package/src/component/shared/construtor-consulta/Campo.vue +127 -0
- package/src/component/shared/construtor-consulta/ComponenteDinamico.vue +109 -0
- package/src/component/shared/construtor-consulta/ConstrutorConsulta.vue +70 -0
- package/src/component/shared/construtor-consulta/ConverteParaOdata.js +80 -0
- package/src/component/shared/construtor-consulta/EscolherFiltro.vue +96 -0
- package/src/component/shared/{query-builder → construtor-consulta}/Filtro.vue +11 -16
- package/src/component/shared/construtor-consulta/ListaComponenteDinamico.vue +41 -0
- package/src/component/shared/{query-builder → construtor-consulta}/Rodape.vue +9 -9
- package/src/component/shared/{query-builder → construtor-consulta}/Tags.vue +7 -7
- package/src/component/shared/{query-builder → construtor-consulta}/utilities.js +0 -0
- package/src/component/template/ModeloAdicionarModificarView.vue +11 -11
- package/src/component/template/ModeloDocumentoView.vue +79 -79
- package/src/component/template/ModeloLista.vue +66 -66
- package/src/component/template/ModeloRelatorioListaView.vue +71 -68
- package/src/component/template/ModeloRelatorioView.vue +218 -200
- package/src/component/template/ModeloSubView.vue +13 -13
- package/src/component/template/ModeloView.vue +17 -17
- package/src/component/template/Relatorio.js +1 -5
- package/src/component/template/RelatorioAdicionarModificar.vue +44 -44
- package/src/component/value-objects/DadosContato.vue +27 -27
- package/src/component/value-objects/DadosPessoa.js +1 -1
- package/src/component/value-objects/DadosPessoa.vue +52 -52
- package/src/component/value-objects/Endereco.js +1 -1
- package/src/component/value-objects/Endereco.vue +83 -83
- package/src/config/dicas.js +1 -1
- package/src/config/token.js +2 -2
- package/src/store/modules/generic.js +489 -0
- package/src/store/modules/report.js +246 -0
- package/src/store/modules/user.js +38 -0
- package/src/store/modules/validation.js +39 -0
- package/src/store/store.js +4 -4
- package/public/js/menu.js +0 -11
- package/public/styles/menu.css +0 -1399
- package/src/component/forms/ArquivoUpload.vue +0 -199
- package/src/component/forms/CheckboxMultiplo.vue +0 -63
- package/src/component/forms/Decimal.vue +0 -137
- package/src/component/forms/Escolher.vue +0 -324
- package/src/component/forms/EscolherEstatico.vue +0 -139
- package/src/component/forms/Numero.vue +0 -153
- package/src/component/forms/Opcoes.vue +0 -51
- package/src/component/forms/Senha.vue +0 -139
- package/src/component/forms/Texto.vue +0 -161
- package/src/component/forms/TextoArea.vue +0 -126
- package/src/component/forms/TextoEditor.vue +0 -123
- package/src/component/layout/Painel.vue +0 -142
- package/src/component/shared/Mensagem.vue +0 -86
- package/src/component/shared/query-builder/Campo.vue +0 -116
- package/src/component/shared/query-builder/ConverteParaOdata.js +0 -73
- package/src/component/shared/query-builder/QueryBuilder.vue +0 -164
- package/src/component/shared/query-builder/components/CustomSelect.vue +0 -115
- package/src/component/shared/query-builder/components/QueryBuilderChildren.vue +0 -46
- package/src/component/shared/query-builder/components/QueryBuilderGroup.vue +0 -151
- package/src/component/shared/query-builder/components/QueryBuilderRule.vue +0 -81
- package/src/component/shared/query-builder/layouts/Bootstrap/BootstrapGroup.vue +0 -120
- package/src/component/shared/query-builder/layouts/Bootstrap/BootstrapRule.vue +0 -171
- package/src/component/shared/query-builder/main.js +0 -81
- package/src/store/modulos/generic.js +0 -494
- package/src/store/modulos/relatorio.js +0 -201
- package/src/store/modulos/usuario.js +0 -38
- package/src/store/modulos/validation.js +0 -39
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<mxfile host="65bd71144e">
|
|
2
|
+
<diagram id="E48Z9MQLlxmhIpPkPNIA" name="Store">
|
|
3
|
+
<mxGraphModel dx="1123" dy="612" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="1920" background="#ffffff" math="0" shadow="0">
|
|
4
|
+
<root>
|
|
5
|
+
<mxCell id="0"/>
|
|
6
|
+
<mxCell id="1" parent="0"/>
|
|
7
|
+
<mxCell id="4" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;fontFamily=Helvetica;fontSize=13;fontColor=#ffffff;fillColor=none;strokeColor=#E81313;strokeWidth=2;" vertex="1" parent="1">
|
|
8
|
+
<mxGeometry x="138" y="25" width="20" height="202" as="geometry"/>
|
|
9
|
+
</mxCell>
|
|
10
|
+
<mxCell id="5" value="<font style="font-size: 19px">state</font>" style="text;strokeColor=none;fillColor=none;html=1;fontSize=24;fontStyle=1;verticalAlign=middle;align=center;fontFamily=Helvetica;fontColor=#000000;" vertex="1" parent="1">
|
|
11
|
+
<mxGeometry x="25" y="103" width="100" height="40" as="geometry"/>
|
|
12
|
+
</mxCell>
|
|
13
|
+
<mxCell id="6" value="<span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; color: rgb(232 , 19 , 19) ; font-weight: bold">relatorio:campo[ ]:&nbsp;</span><span style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px"><font color="#000000">Campos que poderão conter no relatório, os campos são os mesmos da tabela, os parâmetros aceitos estão no component &lt;tabela&gt;.</font><br></span><span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; color: rgb(232 , 19 , 19) ; font-weight: bold">relatorio:filtro[ ]:<span>&nbsp;</span></span><span style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px"><font color="#000000">Campos que poderão conter no relatório, os campos são os mesmos da tabela.</font><br></span><span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; color: rgb(232 , 19 , 19) ; font-weight: bold">campoSelecionado[ ]:<span>&nbsp;</span></span><span style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px"><font color="#000000">Campos que foram selecionados no componente &lt;Filtro&gt; do &lt;QueryBuilder&gt;.</font><br></span><span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; color: rgb(232 , 19 , 19) ; font-weight: bold">filtroSelecionado{ children [ } }:<span>&nbsp;</span></span><span style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px"><font color="#000000">Filtros selecionados no componente &lt;Filtro&gt; do &lt;QueryBuilder&gt;, o próprio &lt;QueryBuilder&gt; retorna um v-model.</font><br></span><span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; color: rgb(232 , 19 , 19) ; font-weight: bold">campoOrdenado{}:<span>&nbsp;</span></span><span style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px"><font color="#000000">Campo que for ordenado no componente &lt;Filtro&gt; do &lt;QueryBuilder&gt;.</font><br></span><span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; color: rgb(232 , 19 , 19) ; font-weight: bold">opcoes:valorInicial [ ]:</span><span style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px"><br></span><span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; color: rgb(232 , 19 , 19) ; font-weight: bold">opcoes:opcoes[ ]:</span><span style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px"><br></span><span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; color: rgb(232 , 19 , 19) ; font-weight: bold">opcoesValorInicial [ ]:</span><span style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; font-weight: bold"><br></span><span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; font-weight: bold ; color: rgb(232 , 19 , 19)">consulta [ ]:<span>&nbsp;</span></span><span style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px"><font color="#000000">Array com a consulta no padrão oData para ser filtrado.</font></span><span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; font-weight: bold ; color: rgb(232 , 19 , 19)"><br></span><span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; font-weight: bold ; color: rgb(232 , 19 , 19)">resumo [ ]:<span>&nbsp;</span></span><span style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px"><font color="#000000">Array com a resumo no padrão oData.</font><br></span><span style="font-family: &#34;helvetica&#34; ; font-size: 13px ; font-style: normal ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; font-weight: bold ; color: rgb(232 , 19 , 19)">tags [ ]:<span>&nbsp;</span></span><span style="font-family: &#34;helvetica&#34;">Array com as tags que são carregadas no componente &lt;Tags/&gt;</span>" style="text;whiteSpace=wrap;html=1;fontSize=13;fontFamily=Helvetica;fontColor=#000000;" vertex="1" parent="1">
|
|
14
|
+
<mxGeometry x="167" y="31" width="896" height="190" as="geometry"/>
|
|
15
|
+
</mxCell>
|
|
16
|
+
<mxCell id="7" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;fontFamily=Helvetica;fontSize=13;fontColor=#ffffff;fillColor=none;strokeColor=#006600;strokeWidth=2;" vertex="1" parent="1">
|
|
17
|
+
<mxGeometry x="138" y="266" width="20" height="156" as="geometry"/>
|
|
18
|
+
</mxCell>
|
|
19
|
+
<mxCell id="8" value="<font style="font-size: 19px">mutations</font>" style="text;strokeColor=none;fillColor=none;html=1;fontSize=24;fontStyle=1;verticalAlign=middle;align=center;fontFamily=Helvetica;fontColor=#000000;" vertex="1" parent="1">
|
|
20
|
+
<mxGeometry x="27" y="321" width="100" height="40" as="geometry"/>
|
|
21
|
+
</mxCell>
|
|
22
|
+
<mxCell id="9" value="<p style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; margin: 0px 0px 0px 8px ; font-size: 13px"><span data-lucid-type="application/vnd.lucid.text" data-lucid-content="{&#34;t&#34;:&#34;insereRelatorio(): Insere o objeto contendo as informações dos campos e filtros.\natualizaCampoSelecionado(): Insere os campos selecionados que vem do componente &lt;Campo&gt; do &lt;QueryBuilder&gt;.\natualizaFiltroSelecionado(): Insere as informações dos filtros iniciais para carregar no componente &lt;Filtro&gt;, utilizado quando tem um relatório salvo.\natualizaCampoOrdenado(): Insere qual campo está ordenado para efetuar a busca.\natualizaOpcoesValorInicial(): Insere as informações dos campos iniciais para carregar no componente &lt;Campo&gt;, utilizado quando tem um relatório salvo.\nremoveFiltroSelecionado(): Remove o filtro selecionado, utilizado quando uma tag é removida, então precisa atualizar o array de filtro.\natualizaConsultaFiltro(): Monta o array convertendo os filtros no padrão &lt;QueryBuilder&gt; para o formato oData através da classe converteParaOData(), bem como adiciona no array resumo[ ] caso possua configurado nos parâmetros iniciais. Faz tambem as validações de os dados estão corretos. \n&#34;,&#34;m&#34;:[{&#34;s&#34;:0,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:0,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:19},{&#34;s&#34;:0,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:17},{&#34;s&#34;:0,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:17},{&#34;s&#34;:0,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:17},{&#34;s&#34;:81,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:107},{&#34;s&#34;:81,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:107},{&#34;s&#34;:81,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:107},{&#34;s&#34;:81,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:109},{&#34;s&#34;:188,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:217},{&#34;s&#34;:188,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:215},{&#34;s&#34;:188,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:215},{&#34;s&#34;:188,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:215},{&#34;s&#34;:339,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:362},{&#34;s&#34;:339,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:362},{&#34;s&#34;:339,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:362},{&#34;s&#34;:339,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:364},{&#34;s&#34;:0,&#34;n&#34;:&#34;s&#34;,&#34;v&#34;:19.999999999999996,&#34;e&#34;:992},{&#34;s&#34;:81,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:188,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:418,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:339,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:418,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:446},{&#34;s&#34;:418,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:446},{&#34;s&#34;:418,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:446},{&#34;s&#34;:418,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:448},{&#34;s&#34;:567,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:568},{&#34;s&#34;:567,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:568},{&#34;s&#34;:567,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:568},{&#34;s&#34;:567,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:568},{&#34;s&#34;:568,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:593},{&#34;s&#34;:568,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:593},{&#34;s&#34;:568,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:593},{&#34;s&#34;:568,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:595},{&#34;s&#34;:704,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:730},{&#34;s&#34;:704,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:730},{&#34;s&#34;:704,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:730},{&#34;s&#34;:704,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:730},{&#34;s&#34;:568,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:704,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157}]}"><span style="font-weight: bold ; color: rgb(0 , 138 , 14)">insereRelatorio()</span><span style="color: rgb(0 , 138 , 14)">:</span><font color="#000000"><span>&nbsp;</span></font><font color="#000000">Insere o objeto contendo as informações dos campos e filtros.</font><br><span style="font-weight: bold ; color: rgb(0 , 138 , 14)">atualizaCampoSelecionado()</span><span style="color: rgb(0 , 138 , 14)">:</span><font color="#000000"><span>&nbsp;</span>Insere os campos selecionados que vem do componente &lt;Campo&gt; do &lt;QueryBuilder&gt;.</font><br><span style="font-weight: bold ; color: rgb(0 , 138 , 14)">atualizaFiltroSelecionado()</span><span style="color: rgb(0 , 138 , 14)">:<span>&nbsp;</span></span><font color="#000000">Insere as informações dos filtros iniciais para carregar no componente &lt;Filtro&gt;, utilizado quando tem um relatório salvo.</font><br><span style="font-weight: bold ; color: rgb(0 , 138 , 14)">atualizaCampoOrdenado()</span><span style="color: rgb(0 , 138 , 14)">:<span>&nbsp;</span></span><font color="#000000">Insere qual campo está ordenado para efetuar a busca.</font><br><span style="font-weight: bold ; color: rgb(0 , 138 , 14)">atualizaOpcoesValorInicial()</span><span style="color: rgb(0 , 138 , 14)">:<span>&nbsp;</span></span><font color="#000000">Insere as informações dos campos iniciais para carregar no componente &lt;Campo&gt;, utilizado quando tem um relatório salvo.</font><span style="font-weight: bold ; color: rgb(0 , 138 , 14)"><br></span><span style="font-weight: bold ; color: rgb(0 , 138 , 14)">removeFiltroSelecionado()</span><span style="color: rgb(0 , 138 , 14)">:<span>&nbsp;</span></span><font color="#000000">Remove o filtro selecionado, utilizado quando uma tag é removida, então precisa atualizar o array de filtro.</font><br><span style="color: rgb(0 , 138 , 14) ; font-weight: bold">atualizaConsultaFiltro():<span>&nbsp;</span></span><font color="#000000">Monta o array convertendo os filtros no padrão &lt;QueryBuilder&gt; para o formato oData através da classe converteParaOData(),&nbsp;</font></span></p><p style="color: rgb(240 , 240 , 240) ; font-family: &#34;helvetica&#34; ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; margin: 0px 0px 0px 8px ; font-size: 13px"><span data-lucid-type="application/vnd.lucid.text" data-lucid-content="{&#34;t&#34;:&#34;insereRelatorio(): Insere o objeto contendo as informações dos campos e filtros.\natualizaCampoSelecionado(): Insere os campos selecionados que vem do componente &lt;Campo&gt; do &lt;QueryBuilder&gt;.\natualizaFiltroSelecionado(): Insere as informações dos filtros iniciais para carregar no componente &lt;Filtro&gt;, utilizado quando tem um relatório salvo.\natualizaCampoOrdenado(): Insere qual campo está ordenado para efetuar a busca.\natualizaOpcoesValorInicial(): Insere as informações dos campos iniciais para carregar no componente &lt;Campo&gt;, utilizado quando tem um relatório salvo.\nremoveFiltroSelecionado(): Remove o filtro selecionado, utilizado quando uma tag é removida, então precisa atualizar o array de filtro.\natualizaConsultaFiltro(): Monta o array convertendo os filtros no padrão &lt;QueryBuilder&gt; para o formato oData através da classe converteParaOData(), bem como adiciona no array resumo[ ] caso possua configurado nos parâmetros iniciais. Faz tambem as validações de os dados estão corretos. \n&#34;,&#34;m&#34;:[{&#34;s&#34;:0,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:0,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:19},{&#34;s&#34;:0,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:17},{&#34;s&#34;:0,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:17},{&#34;s&#34;:0,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:17},{&#34;s&#34;:81,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:107},{&#34;s&#34;:81,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:107},{&#34;s&#34;:81,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:107},{&#34;s&#34;:81,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:109},{&#34;s&#34;:188,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:217},{&#34;s&#34;:188,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:215},{&#34;s&#34;:188,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:215},{&#34;s&#34;:188,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:215},{&#34;s&#34;:339,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:362},{&#34;s&#34;:339,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:362},{&#34;s&#34;:339,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:362},{&#34;s&#34;:339,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:364},{&#34;s&#34;:0,&#34;n&#34;:&#34;s&#34;,&#34;v&#34;:19.999999999999996,&#34;e&#34;:992},{&#34;s&#34;:81,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:188,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:418,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:339,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:418,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:446},{&#34;s&#34;:418,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:446},{&#34;s&#34;:418,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:446},{&#34;s&#34;:418,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:448},{&#34;s&#34;:567,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:568},{&#34;s&#34;:567,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:568},{&#34;s&#34;:567,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:568},{&#34;s&#34;:567,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:568},{&#34;s&#34;:568,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:593},{&#34;s&#34;:568,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:593},{&#34;s&#34;:568,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:593},{&#34;s&#34;:568,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:595},{&#34;s&#34;:704,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#008a0eff&#34;,&#34;e&#34;:730},{&#34;s&#34;:704,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:730},{&#34;s&#34;:704,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:730},{&#34;s&#34;:704,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:730},{&#34;s&#34;:568,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:704,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157}]}"><font color="#000000">bem como adiciona no array resumo[ ] caso possua configurado nos parâmetros iniciais. Faz tambem as validações de os dados estão corretos.&nbsp;&nbsp;</font></span></p>" style="text;whiteSpace=wrap;html=1;fontSize=19;fontFamily=Helvetica;fontColor=#E81313;" vertex="1" parent="1">
|
|
23
|
+
<mxGeometry x="162" y="273" width="917" height="142" as="geometry"/>
|
|
24
|
+
</mxCell>
|
|
25
|
+
<mxCell id="10" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;fontFamily=Helvetica;fontSize=13;fontColor=#ffffff;fillColor=none;strokeColor=#000099;strokeWidth=2;" vertex="1" parent="1">
|
|
26
|
+
<mxGeometry x="142" y="465" width="20" height="168" as="geometry"/>
|
|
27
|
+
</mxCell>
|
|
28
|
+
<mxCell id="11" value="<font style="font-size: 19px">getters</font>" style="text;strokeColor=none;fillColor=none;html=1;fontSize=24;fontStyle=1;verticalAlign=middle;align=center;fontFamily=Helvetica;fontColor=#000000;" vertex="1" parent="1">
|
|
29
|
+
<mxGeometry x="31" y="520" width="100" height="40" as="geometry"/>
|
|
30
|
+
</mxCell>
|
|
31
|
+
<mxCell id="13" value="<p style="font-family: &#34;helvetica&#34; ; font-style: normal ; font-weight: 400 ; letter-spacing: normal ; text-align: left ; text-indent: 0px ; text-transform: none ; word-spacing: 0px ; margin: 0px 0px 0px 8px ; font-size: 13px"><span data-lucid-type="application/vnd.lucid.text" data-lucid-content="{&#34;t&#34;:&#34;cabecalhoTabela: Verifica os campos da tabela que está marcado como show=true e retorna para ser adicionado no componente &lt;Tabela&gt;.\nopcoes: Verifica os campos da tabela para montar as opções no componente &lt;Filtro&gt;, bem como tambem verifica quais estão marcados como show=true e deixar como check e carregar no valorInicial. \nfiltroObrigatorio: Verifica se foi passado que o relatório tenha algum filtro que seja obrigatório e retorno um true ou false.\nfiltroSelecionado: Verifica se tem algum filtro selecionado que seja válido e adiciona, ou seja se tive algum filtro sem conteúdo não será adicionado. \noDataOrderBy: Pega o objeto que foi carregado no campoOrdenado que vem do &lt;Campo&gt; e monta um pedaço da url oData. \noDataSelect: Verifica os campos que estão selecionados e monta uma string para compor a url do oData..\noDataFilter: Verifica os filtros e monta uma string para compor a url do oData. \ntags: Verifica nos filtros selecionados os tipos de pesquisa para montar o array com as tags formatadas.&#34;,&#34;m&#34;:[{&#34;s&#34;:0,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:0,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:17},{&#34;s&#34;:0,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#1071e5ff&#34;,&#34;e&#34;:18},{&#34;s&#34;:0,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:17},{&#34;s&#34;:0,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:17},{&#34;s&#34;:0,&#34;n&#34;:&#34;s&#34;,&#34;v&#34;:19.999999999999996,&#34;e&#34;:1017},{&#34;s&#34;:136,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:144},{&#34;s&#34;:136,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#1071e5ff&#34;,&#34;e&#34;:144},{&#34;s&#34;:136,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:144},{&#34;s&#34;:136,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:144},{&#34;s&#34;:136,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:330,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:351},{&#34;s&#34;:330,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:351},{&#34;s&#34;:330,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:351},{&#34;s&#34;:330,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#1071e5ff&#34;,&#34;e&#34;:352},{&#34;s&#34;:332,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:460,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:479},{&#34;s&#34;:460,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:479},{&#34;s&#34;:460,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:479},{&#34;s&#34;:460,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#1071e5ff&#34;,&#34;e&#34;:480},{&#34;s&#34;:460,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:613,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#1071e5ff&#34;,&#34;e&#34;:627},{&#34;s&#34;:613,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:627},{&#34;s&#34;:613,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:627},{&#34;s&#34;:613,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:627},{&#34;s&#34;:613,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:727,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#1071e5ff&#34;,&#34;e&#34;:728},{&#34;s&#34;:729,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#1071e5ff&#34;,&#34;e&#34;:742},{&#34;s&#34;:729,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:742},{&#34;s&#34;:729,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:742},{&#34;s&#34;:729,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:742},{&#34;s&#34;:729,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:832,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:844},{&#34;s&#34;:832,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:844},{&#34;s&#34;:832,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:844},{&#34;s&#34;:832,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#1071e5ff&#34;,&#34;e&#34;:845},{&#34;s&#34;:832,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157},{&#34;s&#34;:913,&#34;n&#34;:&#34;fc&#34;,&#34;v&#34;:&#34;Bold&#34;,&#34;e&#34;:919},{&#34;s&#34;:913,&#34;n&#34;:&#34;fid&#34;,&#34;v&#34;:5,&#34;e&#34;:919},{&#34;s&#34;:913,&#34;n&#34;:&#34;b&#34;,&#34;v&#34;:true,&#34;e&#34;:919},{&#34;s&#34;:913,&#34;n&#34;:&#34;c&#34;,&#34;v&#34;:&#34;#1071e5ff&#34;,&#34;e&#34;:919},{&#34;s&#34;:913,&#34;n&#34;:&#34;p&#34;,&#34;v&#34;:1.127450980392157}]}"><span style="color: rgb(16 , 113 , 229) ; font-weight: bold">cabecalhoTabela: </span> <font color="#000000">Verifica os campos da tabela que está marcado como show=true e retorna para ser adicionado no componente &lt;Tabela&gt;.</font><br><span style="color: rgb(16 , 113 , 229) ; font-weight: bold">opcoes: </span><font color="#000000">Verifica os campos da tabela para montar as opções no componente &lt;Filtro&gt;, bem como tambem verifica quais estão marcados como show=true e deixar como check e carregar no valorInicial.</font><span style="color: rgb(16 , 113 , 229) ; font-weight: bold"> <br></span><span style="color: rgb(16 , 113 , 229) ; font-weight: bold">filtroObrigatorio: </span> <font color="#000000">Verifica se foi passado que o relatório tenha algum filtro que seja obrigatório e retorno um true ou false.</font><br><span style="color: rgb(16 , 113 , 229) ; font-weight: bold">filtroSelecionado:</span><font color="#000000"><span style="font-weight: bold"> </span> Verifica se tem algum filtro selecionado que seja válido e adiciona, ou seja se tive algum filtro sem conteúdo não será adicionado. </font><br><span style="color: rgb(16 , 113 , 229) ; font-weight: bold">oDataOrderBy: </span><font color="#000000">Pega o objeto que foi carregado no campoOrdenado que vem do &lt;Campo&gt; e monta um pedaço da url oData. </font><span style="color: rgb(16 , 113 , 229)"> </span><span style="color: rgb(240 , 240 , 240)"><br></span><span style="color: rgb(16 , 113 , 229) ; font-weight: bold">oDataSelect: </span><font color="#000000">Verifica os campos que estão selecionados e monta uma string para compor a url do oData.</font><br><span style="color: rgb(16 , 113 , 229) ; font-weight: bold">oDataFilter:</span><font color="#000000"> Verifica os filtros e monta uma string para compor a url do oData. </font><br><span style="color: rgb(16 , 113 , 229) ; font-weight: bold">tags: </span><font color="#000000">Verifica nos filtros selecionados os tipos de pesquisa para montar o array com as tags formatadas.</font></span><br></p>" style="text;whiteSpace=wrap;html=1;fontSize=19;fontFamily=Helvetica;fontColor=#E81313;" vertex="1" parent="1">
|
|
32
|
+
<mxGeometry x="166" y="472" width="998" height="152" as="geometry"/>
|
|
33
|
+
</mxCell>
|
|
34
|
+
</root>
|
|
35
|
+
</mxGraphModel>
|
|
36
|
+
</diagram>
|
|
37
|
+
</mxfile>
|
package/package.json
CHANGED
|
@@ -1,75 +1,77 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@nixweb/nixloc-ui",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "Componentes UI",
|
|
5
|
-
"author": "Fábio Ávila <fabio@nixweb.com.br>",
|
|
6
|
-
"private": false,
|
|
7
|
-
"scripts": {
|
|
8
|
-
"serve": "vue-cli-service serve",
|
|
9
|
-
"build": "vue-cli-service build",
|
|
10
|
-
"lint": "vue-cli-service lint"
|
|
11
|
-
},
|
|
12
|
-
"dependencies": {
|
|
13
|
-
"@babel/polyfill": "^7.
|
|
14
|
-
"@ckeditor/ckeditor5-vue2": "^2.0.0",
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"vue
|
|
22
|
-
"vue-
|
|
23
|
-
"vue-
|
|
24
|
-
"vue-
|
|
25
|
-
"vue-
|
|
26
|
-
"vue-
|
|
27
|
-
"vue-
|
|
28
|
-
"vue-
|
|
29
|
-
"vue-
|
|
30
|
-
"vue-
|
|
31
|
-
"vue-
|
|
32
|
-
"vue-
|
|
33
|
-
"vue-
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"vue-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
|
|
75
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@nixweb/nixloc-ui",
|
|
3
|
+
"version": "0.0.122",
|
|
4
|
+
"description": "Componentes UI",
|
|
5
|
+
"author": "Fábio Ávila <fabio@nixweb.com.br>",
|
|
6
|
+
"private": false,
|
|
7
|
+
"scripts": {
|
|
8
|
+
"serve": "vue-cli-service serve",
|
|
9
|
+
"build": "vue-cli-service build",
|
|
10
|
+
"lint": "vue-cli-service lint"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@babel/polyfill": "^7.12.1",
|
|
14
|
+
"@ckeditor/ckeditor5-vue2": "^2.0.0",
|
|
15
|
+
"axios": "^0.24.0",
|
|
16
|
+
"bootstrap-vue": "^2.0.0-rc.11",
|
|
17
|
+
"core-js": "^3.6.5",
|
|
18
|
+
"sass-loader": "^10.1.1",
|
|
19
|
+
"v-runtime-template": "^1.10.0",
|
|
20
|
+
"vodal": "^2.4.0",
|
|
21
|
+
"vue": "^2.6.11",
|
|
22
|
+
"vue-color": "^2.7.0",
|
|
23
|
+
"vue-currency-filter": "^3.3.0",
|
|
24
|
+
"vue-html2pdf": "^1.8.0",
|
|
25
|
+
"vue-js-toggle-button": "^1.3.0",
|
|
26
|
+
"vue-json-excel": "^0.3.0",
|
|
27
|
+
"vue-loading-template": "^1.3.0",
|
|
28
|
+
"vue-moment": "^4.0.0",
|
|
29
|
+
"vue-multiselect": "^2.1.0",
|
|
30
|
+
"vue-numeric": "^2.4.1",
|
|
31
|
+
"vue-print-nb": "^1.7.5",
|
|
32
|
+
"vue-router": "^3.0.1",
|
|
33
|
+
"vue-simple-progress": "^1.1.1",
|
|
34
|
+
"vue-the-mask": "^0.11.1",
|
|
35
|
+
"vue-toasted": "^1.1.28",
|
|
36
|
+
"vue-toggles": "^1.1.4",
|
|
37
|
+
"vue-upload-file": "^1.1.0",
|
|
38
|
+
"vue2-datepicker": "^2.13.0",
|
|
39
|
+
"vue2-editor": "^2.6.6",
|
|
40
|
+
"vuejs-ace-editor": "^1.0.1",
|
|
41
|
+
"vuex": "^3.6.2",
|
|
42
|
+
"vuex-persistedstate": "^4.0.0"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@vue/cli-plugin-babel": "~4.5.0",
|
|
46
|
+
"@vue/cli-service": "~4.5.0",
|
|
47
|
+
"babel-eslint": "^10.1.0",
|
|
48
|
+
"eslint": "^6.7.2",
|
|
49
|
+
"eslint-plugin-vue": "^6.2.2",
|
|
50
|
+
"script-loader": "^0.7.2",
|
|
51
|
+
"vue-template-compiler": "^2.6.11"
|
|
52
|
+
},
|
|
53
|
+
"eslintConfig": {
|
|
54
|
+
"root": true,
|
|
55
|
+
"env": {
|
|
56
|
+
"node": true
|
|
57
|
+
},
|
|
58
|
+
"extends": [
|
|
59
|
+
"plugin:vue/essential",
|
|
60
|
+
"eslint:recommended"
|
|
61
|
+
],
|
|
62
|
+
"parserOptions": {
|
|
63
|
+
"parser": "babel-eslint"
|
|
64
|
+
},
|
|
65
|
+
"rules": {}
|
|
66
|
+
},
|
|
67
|
+
"engines": {
|
|
68
|
+
"node": "16.14.2",
|
|
69
|
+
"npm": ">= 3.0.0"
|
|
70
|
+
},
|
|
71
|
+
"browserslist": [
|
|
72
|
+
"> 1%",
|
|
73
|
+
"last 2 versions",
|
|
74
|
+
"not dead"
|
|
75
|
+
],
|
|
76
|
+
"main": "babel.config.js"
|
|
77
|
+
}
|
package/public/index.html
CHANGED
|
@@ -6,13 +6,11 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
|
7
7
|
<link rel="shortcut icon" type="image/png" href="/favicon.ico" />
|
|
8
8
|
<title>
|
|
9
|
-
Nixloc
|
|
9
|
+
Nixloc Componentes UI
|
|
10
10
|
</title>
|
|
11
11
|
|
|
12
12
|
<link rel="stylesheet" type="text/css" href="/styles/app.css">
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
<script src="/js/menu.js"></script>
|
|
13
|
+
|
|
16
14
|
</head>
|
|
17
15
|
|
|
18
16
|
<body>
|
package/public/styles/app.css
CHANGED
|
@@ -13,7 +13,6 @@ textarea:focus, input:focus, select:focus {
|
|
|
13
13
|
outline: 0 !important;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
|
|
17
16
|
.form-control {
|
|
18
17
|
font-size: 14px !important;
|
|
19
18
|
border-left: 0px !important;
|
|
@@ -49,6 +48,6 @@ textarea:focus, input:focus, select:focus {
|
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
|
|
52
|
-
.
|
|
51
|
+
.required {
|
|
53
52
|
color: red;
|
|
54
53
|
}
|
|
@@ -1,30 +1,26 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="c-div-
|
|
2
|
+
<div class="c-div-button">
|
|
3
3
|
<button
|
|
4
|
-
class="
|
|
4
|
+
class="button"
|
|
5
5
|
:class="{
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
info:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
small: size === 'small',
|
|
7
|
+
medium: size === 'medium',
|
|
8
|
+
large: size === 'large',
|
|
9
|
+
primary: type === 'primary',
|
|
10
|
+
success: type === 'success',
|
|
11
|
+
warning: type === 'warning',
|
|
12
|
+
info: type === 'info',
|
|
13
|
+
edit: type === 'edit',
|
|
14
|
+
danger: type === 'danger',
|
|
15
|
+
disabled: disabled,
|
|
16
16
|
}"
|
|
17
|
-
:disabled="
|
|
18
|
-
@click="
|
|
17
|
+
:disabled="disabled"
|
|
18
|
+
@click="execute()"
|
|
19
19
|
>
|
|
20
|
-
<i
|
|
21
|
-
|
|
22
|
-
:class="classeIcone"
|
|
23
|
-
v-if="!carregando(this.chave) && classeIcone"
|
|
24
|
-
></i>
|
|
25
|
-
<span v-if="!carregando(this.chave)">{{ titulo }}</span>
|
|
20
|
+
<i class="title" :class="classIcon" v-if="!isLoading(this.key) && classIcon"></i>
|
|
21
|
+
<span v-if="!isLoading(this.key)">{{ title }}</span>
|
|
26
22
|
<vue-loading
|
|
27
|
-
v-if="
|
|
23
|
+
v-if="isLoading(this.key)"
|
|
28
24
|
type="bubbles"
|
|
29
25
|
color="#fff"
|
|
30
26
|
:size="{ width: '26px', height: '26px' }"
|
|
@@ -37,46 +33,46 @@
|
|
|
37
33
|
import { mapGetters, mapMutations } from "vuex";
|
|
38
34
|
|
|
39
35
|
export default {
|
|
40
|
-
name: "
|
|
36
|
+
name: "Button",
|
|
41
37
|
props: {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
38
|
+
key: String,
|
|
39
|
+
title: String,
|
|
40
|
+
type: String,
|
|
41
|
+
size: String,
|
|
42
|
+
eventName: String,
|
|
43
|
+
eventData: Object,
|
|
44
|
+
classIcon: String,
|
|
45
|
+
disabled: Boolean,
|
|
46
|
+
clicked: Function,
|
|
51
47
|
},
|
|
52
48
|
computed: {
|
|
53
|
-
...mapGetters("generic", ["
|
|
49
|
+
...mapGetters("generic", ["isLoading"]),
|
|
54
50
|
},
|
|
55
51
|
methods: {
|
|
56
|
-
...mapMutations("generic", ["
|
|
57
|
-
|
|
58
|
-
if (this.
|
|
59
|
-
this.
|
|
60
|
-
|
|
61
|
-
|
|
52
|
+
...mapMutations("generic", ["addLoading", "addEvent"]),
|
|
53
|
+
execute() {
|
|
54
|
+
if (this.eventName)
|
|
55
|
+
this.addEvent({
|
|
56
|
+
name: this.eventName,
|
|
57
|
+
data: this.eventData,
|
|
62
58
|
});
|
|
63
|
-
this.
|
|
64
|
-
if (this.
|
|
59
|
+
this.addLoading(this.key);
|
|
60
|
+
if (this.clicked) this.clicked();
|
|
65
61
|
},
|
|
66
62
|
},
|
|
67
63
|
};
|
|
68
64
|
</script>
|
|
69
65
|
<style scoped>
|
|
70
|
-
.c-div-
|
|
66
|
+
.c-div-button {
|
|
71
67
|
display: inline-block;
|
|
72
68
|
margin-left: 5px;
|
|
73
69
|
}
|
|
74
70
|
|
|
75
|
-
.
|
|
71
|
+
.title {
|
|
76
72
|
margin: 2px;
|
|
77
73
|
}
|
|
78
74
|
|
|
79
|
-
.
|
|
75
|
+
.button {
|
|
80
76
|
padding: 8px 12px;
|
|
81
77
|
cursor: pointer;
|
|
82
78
|
border: none;
|
|
@@ -90,44 +86,44 @@ export default {
|
|
|
90
86
|
box-shadow: 0px 10px 20px -6px rgb(0 0 0 / 12%);
|
|
91
87
|
}
|
|
92
88
|
|
|
93
|
-
.
|
|
89
|
+
.small {
|
|
94
90
|
padding: 4px 8px;
|
|
95
91
|
font-size: 13px;
|
|
96
92
|
}
|
|
97
93
|
|
|
98
|
-
.
|
|
94
|
+
.medium {
|
|
99
95
|
padding: 7px 12px;
|
|
100
96
|
font-size: 13px;
|
|
101
97
|
}
|
|
102
98
|
|
|
103
|
-
.
|
|
99
|
+
.large {
|
|
104
100
|
padding: 10px 15px;
|
|
105
101
|
font-size: 14px;
|
|
106
102
|
}
|
|
107
103
|
|
|
108
|
-
.
|
|
104
|
+
.disabled {
|
|
109
105
|
background: #bbbbbb !important;
|
|
110
106
|
border-color: #bbbbbb !important;
|
|
111
107
|
color: #fff;
|
|
112
108
|
}
|
|
113
109
|
|
|
114
|
-
.
|
|
110
|
+
.primary {
|
|
115
111
|
background: #577696;
|
|
116
112
|
border-color: #577696;
|
|
117
113
|
color: #fff;
|
|
118
114
|
}
|
|
119
115
|
|
|
120
|
-
.
|
|
116
|
+
.primary:hover {
|
|
121
117
|
background: #355472;
|
|
122
118
|
}
|
|
123
119
|
|
|
124
|
-
.
|
|
120
|
+
.success {
|
|
125
121
|
color: #fff;
|
|
126
122
|
background: #94aa2a;
|
|
127
123
|
border-color: #94aa2a;
|
|
128
124
|
}
|
|
129
125
|
|
|
130
|
-
.
|
|
126
|
+
.success:hover {
|
|
131
127
|
background: #6d7e1c;
|
|
132
128
|
}
|
|
133
129
|
|
|
@@ -141,33 +137,33 @@ export default {
|
|
|
141
137
|
background: #3e90b3;
|
|
142
138
|
}
|
|
143
139
|
|
|
144
|
-
.
|
|
140
|
+
.edit {
|
|
145
141
|
color: #fff;
|
|
146
142
|
border-color: #7b7f83;
|
|
147
143
|
background: #7b7f83;
|
|
148
144
|
}
|
|
149
145
|
|
|
150
|
-
.
|
|
146
|
+
.edit:hover {
|
|
151
147
|
background: #595c5f;
|
|
152
148
|
}
|
|
153
149
|
|
|
154
|
-
.
|
|
150
|
+
.warning {
|
|
155
151
|
color: #fff;
|
|
156
152
|
border-color: #f1bc31;
|
|
157
153
|
background: #f1bc31;
|
|
158
154
|
}
|
|
159
155
|
|
|
160
|
-
.
|
|
156
|
+
.warning:hover {
|
|
161
157
|
background: #a37d1b;
|
|
162
158
|
}
|
|
163
159
|
|
|
164
|
-
.
|
|
160
|
+
.danger {
|
|
165
161
|
color: #fff;
|
|
166
162
|
border-color: #f0134d;
|
|
167
163
|
background: #f0134d;
|
|
168
164
|
}
|
|
169
165
|
|
|
170
|
-
.
|
|
166
|
+
.danger:hover {
|
|
171
167
|
background: #c70f40;
|
|
172
168
|
}
|
|
173
169
|
</style>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<b-form-group :label="title">
|
|
4
|
+
<b-form-checkbox-group
|
|
5
|
+
v-model="selected"
|
|
6
|
+
:options="options"
|
|
7
|
+
:stacked="stacked"
|
|
8
|
+
@click.native="execute"
|
|
9
|
+
></b-form-checkbox-group>
|
|
10
|
+
</b-form-group>
|
|
11
|
+
</div>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script>
|
|
15
|
+
import { mapMutations } from "vuex";
|
|
16
|
+
|
|
17
|
+
export default {
|
|
18
|
+
name: "CheckboxGroup",
|
|
19
|
+
props: {
|
|
20
|
+
title: String,
|
|
21
|
+
options: Array,
|
|
22
|
+
params: Object,
|
|
23
|
+
changed: Function,
|
|
24
|
+
clicked: Function,
|
|
25
|
+
initialValue: Array,
|
|
26
|
+
value: Array,
|
|
27
|
+
stacked: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
default: false,
|
|
30
|
+
},
|
|
31
|
+
markFormDirty: {
|
|
32
|
+
type: Boolean,
|
|
33
|
+
default: true,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
data() {
|
|
37
|
+
return {
|
|
38
|
+
selected: [],
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
mounted() {
|
|
42
|
+
this.selected = this.initialValue;
|
|
43
|
+
},
|
|
44
|
+
methods: {
|
|
45
|
+
...mapMutations("validation", ["addFormDirty"]),
|
|
46
|
+
execute(event) {
|
|
47
|
+
if (this.markFormDirty) this.addFormDirty(true);
|
|
48
|
+
this.$emit("input", this.selected);
|
|
49
|
+
let self = this;
|
|
50
|
+
setTimeout(function () {
|
|
51
|
+
// adicionado o pointerId para prevenir que não seja executado em duplicidade
|
|
52
|
+
if (self.clicked && event.pointerId === 1) self.clicked(self.params);
|
|
53
|
+
}, 100);
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
watch: {
|
|
57
|
+
selected() {
|
|
58
|
+
this.$emit("input", this.selected);
|
|
59
|
+
if (this.changed) this.changed(this.params);
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
</script>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
3
|
<b-form-checkbox v-model="value" :value="true" :unchecked-value="false">
|
|
4
|
-
{{
|
|
5
|
-
<Dica :
|
|
4
|
+
{{ title }}
|
|
5
|
+
<Dica :field="field" :formName="formName" />
|
|
6
6
|
</b-form-checkbox>
|
|
7
7
|
</div>
|
|
8
8
|
</template>
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
import Dica from "../shared/Dica.vue";
|
|
12
12
|
export default {
|
|
13
13
|
components: { Dica },
|
|
14
|
-
name: "
|
|
14
|
+
name: "CheckboxSimple",
|
|
15
15
|
props: {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
title: String,
|
|
17
|
+
formName: String,
|
|
18
|
+
field: String,
|
|
19
19
|
value: Boolean,
|
|
20
20
|
},
|
|
21
21
|
watch: {
|