Browse Source

ajuste de layout para notas e de código eslint

pull/2485/head
Leandro Roberto 7 years ago
parent
commit
3d9cce09fd
  1. 16
      sapl-frontend/.eslintrc.js
  2. 4
      sapl-frontend/babel.config.js
  3. 2
      sapl-frontend/postcss.config.js
  4. 1081
      sapl-frontend/src/apps/compilacao/js/old/compilacao_edit.js
  5. 4
      sapl-frontend/src/apps/compilacao/js/old/compilacao_notas.js
  6. 1
      sapl-frontend/src/apps/compilacao/scss/compilacao.scss
  7. 189
      sapl-frontend/src/global/functions.js
  8. 1825
      sapl-frontend/src/global/image_cropping/js/jquery.Jcrop.js
  9. 1356
      sapl-frontend/src/global/image_cropping/js/jquery.color.js
  10. 4
      sapl-frontend/src/global/main.js
  11. 4
      sapl-frontend/src/hellow/components/HelloWorld.vue
  12. 10
      sapl-frontend/src/hellow/main.js
  13. 6
      sapl-frontend/src/hellow/router.js
  14. 6
      sapl-frontend/src/hellow/store.js
  15. 4
      sapl-frontend/src/hellow/views/Home.vue
  16. 23
      sapl-frontend/vue.config.js
  17. 29
      sapl/compilacao/forms.py
  18. 3
      sapl/crispy_layout_mixin.py

16
sapl-frontend/.eslintrc.js

@ -6,25 +6,25 @@ module.exports = {
jquery: true jquery: true
}, },
extends: [ extends: [
"plugin:vue/essential", 'plugin:vue/essential',
'standard' 'standard'
], ],
rules: { rules: {
'generator-star-spacing': 'off', 'generator-star-spacing': 'off',
"no-console": process.env.NODE_ENV === "production" ? "error" : "off", 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off" 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
}, },
// required to lint *.vue files // required to lint *.vue files
plugins: [ plugins: [
'vue' 'vue'
], ],
parserOptions: { parserOptions: {
parser: "babel-eslint" parser: 'babel-eslint'
}, },
globals: { globals: {
"$": true, '$': true,
"jQuery": true, 'jQuery': true,
'_': true '_': true
} }
}; }

4
sapl-frontend/babel.config.js

@ -1,3 +1,3 @@
module.exports = { module.exports = {
presets: ["@vue/app"] presets: ['@vue/app']
}; }

2
sapl-frontend/postcss.config.js

@ -2,4 +2,4 @@ module.exports = {
plugins: { plugins: {
autoprefixer: {} autoprefixer: {}
} }
}; }

1081
sapl-frontend/src/apps/compilacao/js/old/compilacao_edit.js

File diff suppressed because it is too large

4
sapl-frontend/src/apps/compilacao/js/old/compilacao_notas.js

@ -32,11 +32,11 @@ function onSubmitEditNVForm (event) {
let url = '' let url = ''
let model = 'nota' let model = 'nota'
let idEdit = null let idEdit = null
let idDispositivo = $('#idDispositivo').val() let idDispositivo = $('#id_dispositivo').val()
if (idDispositivo === null) { // trata-se de um vide if (idDispositivo === null) { // trata-se de um vide
// $('#idDispositivo_ref').remove() // $('#idDispositivo_ref').remove()
idDispositivo = $('#idDispositivo_base').val() idDispositivo = $('#id_dispositivo_base').val()
model = 'vide' model = 'vide'
} }

1
sapl-frontend/src/apps/compilacao/scss/compilacao.scss

@ -337,6 +337,7 @@ a:link:after, a:visited:after {
min-height: 2.5em; min-height: 2.5em;
&:hover { &:hover {
ul { ul {
font-size: 1rem;
transition: opacity 0.5s linear, clip 0s 0.3s; transition: opacity 0.5s linear, clip 0s 0.3s;
clip: auto; clip: auto;
opacity: 1; opacity: 1;

189
sapl-frontend/src/global/functions.js

@ -1,120 +1,121 @@
window.getCookie = function(name) { window.getCookie = function (name) {
var cookieValue = null; var cookieValue = null
if (document.cookie && document.cookie !== "") { if (document.cookie && document.cookie !== '') {
var cookies = document.cookie.split(";"); var cookies = document.cookie.split(';')
for (var i = 0; i < cookies.length; i++) { for (var i = 0; i < cookies.length; i++) {
var cookie = $.trim(cookies[i]); var cookie = $.trim(cookies[i])
if (cookie.substring(0, name.length + 1) === name + "=") { if (cookie.substring(0, name.length + 1) === name + '=') {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); cookieValue = decodeURIComponent(cookie.substring(name.length + 1))
break; break
} }
} }
} }
return cookieValue; return cookieValue
}; }
window.autorModal = function() { window.autorModal = function () {
$(function() { $(function () {
var dialog = $("#modal_autor").dialog({ var dialog = $('#modal_autor').dialog({
autoOpen: false, autoOpen: false,
modal: true, modal: true,
width: 500, width: 500,
height: 340, height: 340,
show: { show: {
effect: "blind", effect: 'blind',
duration: 500 duration: 500
}, },
hide: { hide: {
effect: "explode", effect: 'explode',
duration: 500 duration: 500
} }
}); })
$("#button-id-limpar").click(function() { $('#button-id-limpar').click(function () {
$("#nome_autor").text(""); $('#nome_autor').text('')
function clean_if_exists(fieldname) { function clean_if_exists (fieldname) {
if ($(fieldname).length > 0) { if ($(fieldname).length > 0) {
$(fieldname).val(""); $(fieldname).val('')
} }
} }
clean_if_exists("#id_autor"); clean_if_exists('#id_autor')
clean_if_exists("#id_autoria__autor"); clean_if_exists('#id_autoria__autor')
}); })
$("#button-id-pesquisar").click(function() { $('#button-id-pesquisar').click(function () {
$("#q").val(""); $('#q').val('')
$("#div-resultado") $('#div-resultado')
.children() .children()
.remove(); .remove()
$("#modal_autor").dialog("open"); $('#modal_autor').dialog('open')
$("#selecionar").attr("hidden", "hidden"); $('#selecionar').attr('hidden', 'hidden')
}); })
$("#pesquisar").click(function() { $('#pesquisar').click(function () {
var name_in_query = $("#q").val(); var name_in_query = $('#q').val()
//var q_0 = "q_0=nome__icontains" // var q_0 = "q_0=nome__icontains"
//var q_1 = name_in_query // var q_1 = name_in_query
//query = q_1 // query = q_1
$.get("/api/autor?q=" + name_in_query, function(data) { $.get('/api/autor?q=' + name_in_query, function (data) {
$("#div-resultado") $('#div-resultado')
.children() .children()
.remove(); .remove()
if (data.pagination.total_entries == 0) { if (data.pagination.total_entries == 0) {
$("#selecionar").attr("hidden", "hidden"); $('#selecionar').attr('hidden', 'hidden')
$("#div-resultado").html( $('#div-resultado').html(
"<span class='alert'><strong>Nenhum resultado</strong></span>" "<span class='alert'><strong>Nenhum resultado</strong></span>"
); )
return; return
} }
var select = $( var select = $(
'<select id="resultados" style="min-width: 90%; max-width:90%;" size="5"/>' '<select id="resultados" style="min-width: 90%; max-width:90%;" size="5"/>'
); )
data.results.forEach(function(item) { data.results.forEach(function (item) {
select.append( select.append(
$("<option>") $('<option>')
.attr("value", item.value) .attr('value', item.value)
.text(item.text) .text(item.text)
); )
}); })
$("#div-resultado") $('#div-resultado')
.append("<br/>") .append('<br/>')
.append(select); .append(select)
$("#selecionar").removeAttr("hidden", "hidden"); $('#selecionar').removeAttr('hidden', 'hidden')
if (data.pagination.total_pages > 1) if (data.pagination.total_pages > 1) {
$("#div-resultado").prepend( $('#div-resultado').prepend(
"<span><br/>Mostrando 10 primeiros autores relativos a sua busca.<br/></span>" '<span><br/>Mostrando 10 primeiros autores relativos a sua busca.<br/></span>'
); )
}
$("#selecionar").click(function() { $('#selecionar').click(function () {
let res = $("#resultados option:selected"); let res = $('#resultados option:selected')
let id = res.val(); let id = res.val()
let nome = res.text(); let nome = res.text()
$("#nome_autor").text(nome); $('#nome_autor').text(nome)
// MateriaLegislativa pesquisa Autor via a tabela Autoria // MateriaLegislativa pesquisa Autor via a tabela Autoria
if ($("#id_autoria__autor").length) { if ($('#id_autoria__autor').length) {
$("#id_autoria__autor").val(id); $('#id_autoria__autor').val(id)
} }
// Protocolo pesquisa a própria tabela de Autor // Protocolo pesquisa a própria tabela de Autor
if ($("#id_autor").length) { if ($('#id_autor').length) {
$("#id_autor").val(id); $('#id_autor').val(id)
} }
dialog.dialog("close"); dialog.dialog('close')
}); })
}); })
}); })
}); })
/*function get_nome_autor(fieldname) { /* function get_nome_autor(fieldname) {
if ($(fieldname).length > 0) { // se campo existir if ($(fieldname).length > 0) { // se campo existir
if ($(fieldname).val() != "") { // e não for vazio if ($(fieldname).val() != "") { // e não for vazio
var id = $(fieldname).val(); var id = $(fieldname).val();
@ -126,22 +127,22 @@ window.autorModal = function() {
} }
get_nome_autor("#id_autor"); get_nome_autor("#id_autor");
get_nome_autor("#id_autoria__autor");*/ get_nome_autor("#id_autoria__autor"); */
}; }
window.refreshMask = function() { window.refreshMask = function () {
$(".telefone").mask("(99) 9999-9999", { placeholder: "(__) ____ -____" }); $('.telefone').mask('(99) 9999-9999', { placeholder: '(__) ____ -____' })
$(".cpf").mask("000.000.000-00", { placeholder: "___.___.___-__" }); $('.cpf').mask('000.000.000-00', { placeholder: '___.___.___-__' })
$(".cep").mask("00000-000", { placeholder: "_____-___" }); $('.cep').mask('00000-000', { placeholder: '_____-___' })
$(".rg").mask("0.000.000", { placeholder: "_.___.___" }); $('.rg').mask('0.000.000', { placeholder: '_.___.___' })
$(".titulo_eleitor").mask("0000.0000.0000.0000", { $('.titulo_eleitor').mask('0000.0000.0000.0000', {
placeholder: "____.____.____.____" placeholder: '____.____.____.____'
}); })
$(".dateinput").mask("00/00/0000", { placeholder: "__/__/____" }); $('.dateinput').mask('00/00/0000', { placeholder: '__/__/____' })
$(".hora, input[name=hora_inicio], input[name=hora_fim], input[name=hora]").mask("00:00", { $('.hora, input[name=hora_inicio], input[name=hora_fim], input[name=hora]').mask('00:00', {
placeholder: "hh:mm" placeholder: 'hh:mm'
}); })
$(".hora_hms").mask("00:00:00", { placeholder: "hh:mm:ss" }); $('.hora_hms').mask('00:00:00', { placeholder: 'hh:mm:ss' })
$(".timeinput").mask("00:00:00", { placeholder: "hh:mm:ss" }); $('.timeinput').mask('00:00:00', { placeholder: 'hh:mm:ss' })
$(".cronometro").mask("00:00:00", { placeholder: "hh:mm:ss" }); $('.cronometro').mask('00:00:00', { placeholder: 'hh:mm:ss' })
}; }

1825
sapl-frontend/src/global/image_cropping/js/jquery.Jcrop.js

File diff suppressed because it is too large

1356
sapl-frontend/src/global/image_cropping/js/jquery.color.js

File diff suppressed because it is too large

4
sapl-frontend/src/global/main.js

@ -1,6 +1,4 @@
// eslint-disable-next-line // eslint-disable-next-line
require('imports-loader?window.jQuery=jquery!./jquery.runner.js')
import 'jquery-mask-plugin' import 'jquery-mask-plugin'
import 'webpack-jquery-ui/dialog' import 'webpack-jquery-ui/dialog'
@ -12,6 +10,8 @@ import './functions'
import './image_cropping' import './image_cropping'
require('imports-loader?window.jQuery=jquery!./jquery.runner.js')
window.jQuery = jQuery window.jQuery = jQuery
window.$ = jQuery window.$ = jQuery

4
sapl-frontend/src/hellow/components/HelloWorld.vue

@ -88,11 +88,11 @@
<script> <script>
export default { export default {
name: "HelloWorld", name: 'HelloWorld',
props: { props: {
msg: String msg: String
} }
}; }
</script> </script>
<!-- Add "scoped" attribute to limit CSS to this component only --> <!-- Add "scoped" attribute to limit CSS to this component only -->

10
sapl-frontend/src/hellow/main.js

@ -1,7 +1,7 @@
import Vue from "vue" import Vue from 'vue'
import App from "./App.vue" import App from './App.vue'
import router from "./router" import router from './router'
import store from "./store" import store from './store'
Vue.config.productionTip = false Vue.config.productionTip = false
@ -9,4 +9,4 @@ new Vue({
router, router,
store, store,
render: h => h(App) render: h => h(App)
}).$mount("#app") }).$mount('#app')

6
sapl-frontend/src/hellow/router.js

@ -1,10 +1,10 @@
import Vue from "vue" import Vue from 'vue'
import Router from "vue-router" import Router from 'vue-router'
Vue.use(Router) Vue.use(Router)
export default new Router({ export default new Router({
mode: "history", mode: 'history',
base: process.env.BASE_URL, base: process.env.BASE_URL,
routes: [] routes: []
}) })

6
sapl-frontend/src/hellow/store.js

@ -1,5 +1,5 @@
import Vue from "vue" import Vue from 'vue'
import Vuex from "vuex" import Vuex from 'vuex'
Vue.use(Vuex) Vue.use(Vuex)
@ -7,4 +7,4 @@ export default new Vuex.Store({
state: {}, state: {},
mutations: {}, mutations: {},
actions: {} actions: {}
}); })

4
sapl-frontend/src/hellow/views/Home.vue

@ -7,10 +7,10 @@
<script> <script>
// @ is an alias to /src // @ is an alias to /src
import HelloWorld from "@/hellow/components/HelloWorld.vue" import HelloWorld from '@/hellow/components/HelloWorld.vue'
export default { export default {
name: "home", name: 'home',
components: { components: {
HelloWorld HelloWorld
} }

23
sapl-frontend/vue.config.js

@ -5,14 +5,13 @@ const BundleTracker = require('webpack-bundle-tracker')
const dotenv = require('dotenv') const dotenv = require('dotenv')
dotenv.config({ path: '../sapl/.env' }) dotenv.config({ path: '../sapl/.env' })
var THEME_CUSTOM = process.env.THEME_CUSTOM === undefined ? "sapl-oficial-theme" : process.env.THEME_CUSTOM var THEME_CUSTOM = process.env.THEME_CUSTOM === undefined ? 'sapl-oficial-theme' : process.env.THEME_CUSTOM
module.exports = { module.exports = {
publicPath: 'http://localhost:8080/', publicPath: 'http://localhost:8080/',
outputDir: './dist/', outputDir: './dist/',
chainWebpack: config => { chainWebpack: config => {
config.optimization config.optimization
.splitChunks(false) .splitChunks(false)
@ -20,7 +19,7 @@ module.exports = {
.plugin('BundleTracker') .plugin('BundleTracker')
.use(BundleTracker, [{ filename: './webpack-stats.json' }]) .use(BundleTracker, [{ filename: './webpack-stats.json' }])
config.devtool = "source-map" config.devtool = 'source-map'
config.resolve.alias config.resolve.alias
.set('__STATIC__', 'static') .set('__STATIC__', 'static')
@ -31,14 +30,14 @@ module.exports = {
.port(8080) .port(8080)
.hot(true) .hot(true)
.watchOptions({ poll: true }) .watchOptions({ poll: true })
.watchContentBase( true ) .watchContentBase(true)
.https(false) .https(false)
.headers({ 'Access-Control-Allow-Origin': '\*' }) .headers({ 'Access-Control-Allow-Origin': '*' })
.contentBase( [ .contentBase([
path.join(__dirname, 'public'), path.join(__dirname, 'public'),
path.join(__dirname, 'src', 'assets'), path.join(__dirname, 'src', 'assets'),
path.join(__dirname, 'node_modules', THEME_CUSTOM, 'public'), path.join(__dirname, 'node_modules', THEME_CUSTOM, 'public')
] ) ])
config.entryPoints.delete('app') config.entryPoints.delete('app')
@ -52,10 +51,9 @@ module.exports = {
_: 'lodash' _: 'lodash'
}]) }])
config.entry(THEME_CUSTOM) config.entry(THEME_CUSTOM)
.add('./src/theme-dev/main.js') .add('./src/theme-dev/main.js')
//.add(THEME_CUSTOM + '/src/main.js') // .add(THEME_CUSTOM + '/src/main.js')
.end() .end()
config.entry('global') config.entry('global')
@ -66,12 +64,11 @@ module.exports = {
.add('./src/apps/compilacao/main.js') .add('./src/apps/compilacao/main.js')
.end() .end()
/*config /* config
.plugin('theme') .plugin('theme')
.use(webpack.DefinePlugin, [{ .use(webpack.DefinePlugin, [{
THEME_CUSTOM: JSON.stringify(THEME_CUSTOM) THEME_CUSTOM: JSON.stringify(THEME_CUSTOM)
}]) }])
.end()*/ .end() */
} }
} }

29
sapl/compilacao/forms.py

@ -23,7 +23,8 @@ from sapl.compilacao.models import (NOTAS_PUBLICIDADE_CHOICES,
TipoTextoArticulado, TipoVide, TipoTextoArticulado, TipoVide,
VeiculoPublicacao, Vide) VeiculoPublicacao, Vide)
from sapl.compilacao.utils import DISPOSITIVO_SELECT_RELATED from sapl.compilacao.utils import DISPOSITIVO_SELECT_RELATED
from sapl.crispy_layout_mixin import SaplFormLayout, to_column, to_row from sapl.crispy_layout_mixin import SaplFormLayout, to_column, to_row,\
form_actions
from sapl.utils import YES_NO_CHOICES from sapl.utils import YES_NO_CHOICES
error_messages = { error_messages = {
@ -256,19 +257,22 @@ class NotaForm(ModelForm):
]) ])
buttons = FormActions( buttons = FormActions(
HTML('<a class="btn btn-inverse btn-close-container">' *[
'%s</a>' % _('Cancelar')), HTML('<a href="" class="btn btn-dark '
'btn-close-container">%s</a>' % _('Cancelar'))
],
Button( Button(
'submit-form', 'submit-form',
'Salvar', 'Salvar',
css_class='btn btn-primary float-right') css_class='btn btn-primary float-right'),
css_class='form-group row justify-content-between mr-1 ml-1'
) )
self.helper = FormHelper() self.helper = FormHelper()
self.helper.layout = Layout( self.helper.layout = Layout(
Div( Div(
Div(HTML(_('Notas')), css_class='card-header bg-bg-light'), Div(HTML(_('Notas')), css_class='card-header bg-light'),
Div( Div(
row1, row1,
to_row([(Field( to_row([(Field(
@ -327,14 +331,13 @@ class VideForm(ModelForm):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
buttons = FormActions( buttons = form_actions(
HTML('<a class="btn btn-inverse btn-close-container">' label=_('Salvar'),
'%s</a>' % _('Cancelar')), more=[
Button( HTML('<a href="" class="btn btn-dark '
'submit-form', 'btn-close-container">%s</a>' % _('Cancelar'))
'Salvar', ],
css_class='btn-primary float-right') disabled=False)
)
dispositivo_ref = Field( dispositivo_ref = Field(
'dispositivo_ref', 'dispositivo_ref',

3
sapl/crispy_layout_mixin.py

@ -35,7 +35,8 @@ def to_fieldsets(fields):
def form_actions(more=[Div(css_class='clearfix')], def form_actions(more=[Div(css_class='clearfix')],
label=_('Salvar'), name='salvar', css_class='float-right', disabled=True): label=_('Salvar'), name='salvar',
css_class='float-right', disabled=True):
if disabled: if disabled:
doubleclick = 'this.form.submit();this.disabled=true;' doubleclick = 'this.form.submit();this.disabled=true;'

Loading…
Cancel
Save