feat: refs #8304 added remove option to operator #1195
No reviewers
Labels
No Milestone
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: verdnatura/salix-front#1195
Loading…
Reference in New Issue
No description provided.
Delete Branch "8304-workerChangesAndFixes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
PR BACK: verdnatura/salix#3353
@jgallego @alexm Esta pendiente de tomar decisión de donde incluir la funcionalidad de añadir nota, si la forma propuesta en el redmine o en el right-panel
Yo haria que el propio input feuese, para ver, crear y modificar. Ya sea solo arriba del calendario o solo en el panel de la derecha.
Pero lo de que este el input arriba del calendario pero luego la nota te la ponga en el panel lo veo muy raro
@jtubau después de la reunion de la semana pasada de salix, vamos a dejar a la derecha filtros, todo lo que sean acciones como en este caso, lo ponemos arriba.
@ -181,3 +184,1 @@
/>
</template>
</RightMenu>
<Teleport to="#right-panel" v-if="stateStore.isHeaderMounted()">
Tengo dudas de si Teleport es mejor opción que RightMenu
Cual es la motivación de cambiarlo? El v-if?
PEgale un vistazo a este commit
58b8b2f7b0
@ -16,12 +16,17 @@ import VnSelect from 'components/common/VnSelect.vue';
import FetchData from 'components/FetchData.vue';
import VnInput from 'components/common/VnInput.vue';
const emit = defineEmits(['onFetch']);
Tengo dudas de este componente porque le hemos metido la lógica de cuando es input, y tenemos que jugar con 2 condiciones
Mi propuesta es definir un componente tipo VnObservation que se comporte como cuando dices que es just-input=true, VnNoteType para el Vnelect y VnNote que tenga solo la lógica del textarea
Pero creo que son demasiados cambios para esta PR
Conclusión: VnNotes depende de 3 condiciones para renderizar que elemento u otro. Desacoplar la lógica
Yo lo dejaria en 2. Un VnNoteInput y un VnNote.
Donde el VnNoteInput seria el textArea.
Y el VnNote tener la logica, y este dividido en 2 partes.
Arriba un slot que por defecto contenga el VnNoteInput
Y abajo el VnPaginate
Por tanto, lo dejamos así y creamos tarea con los comentarios que hemos puesto
Importante: referenciar la PR y ambos comentarios en la descripción de la tarea. Indicando: que la funcionalidad que fusionemos en esta PR debe quedar en el mismo estado. Añadir estos como checklist
@ -23,2 +26,4 @@
addNote: { type: Boolean, default: false },
selectType: { type: Boolean, default: false },
justInput: { type: Boolean, default: false },
required: { type: Boolean, default: false },
Porque prop y no un attr?
@ -31,1 +36,4 @@
const vnPaginateRef = ref();
let originalText;
function handleClick(e) {
Diría que esta lógica ya existe o está implementada en qFormMixin
@ -44,0 +64,4 @@
message: t('Are you sure remove this note?'),
},
})
.onOk(() => update())
.onOk(update)
@ -44,2 +83,3 @@
onBeforeRouteLeave((to, from, next) => {
if (newNote.text)
if ((newNote.text && !$props.justInput) || (newNote.text !== originalText) && $props.justInput )
ufff...en el limite
que seria sacar la evaluación a una const y pasar la const como condición?
const changesOnNote = (newNote.text && !$props.justInput) || (newNote.text !== originalText) && $props.justInput;
if (changesOnNote)
algo asi?
@ -65,2 +105,2 @@
<QCard class="q-pa-xs q-mb-lg full-width" v-if="$props.addNote">
<QCardSection horizontal>
<FetchData
v-if="justInput"
Si usamos selectType para vincularlo con un VnSelect, porque si lo relacionamos con VnInput no hacemos inputType?
@ -67,0 +106,4 @@
v-if="justInput"
:url="url"
:filter="filter"
@on-fetch="(data) => (newNote.text = data[0]?.notes, originalText = data[0]?.notes, emit('onFetch', data))"
Demasiadas operaciones para mantener en el apartado template
Como max. 2
function fetchData(data) {
newNote.text = data[0]?.notes;
originalText = data[0]?.notes;
emit('onFetch', data);
}
<FetchData
v-if="justInput"
:url="url"
:filter="filter"
@on-fetch="(data) => (fetchData(data))"
auto-load
/>
así mejor no? le pondrías otro nombre?
@ -67,0 +112,4 @@
<QCard
class="q-pa-xs q-mb-lg full-width"
v-if="$props.addNote || $props.justInput"
:style="$props.justInput ? 'padding-right: 18px; margin-bottom: 2px; box-shadow: none;' : ''"
podemos simplificar con :class="{condicion: "clase CSS"}
@ -1,8 +1,10 @@
<script setup>
Revisar este componente porque no tiene el mismo estilo en dev que en esta rama
@ -26,3 +30,3 @@
});
onBeforeUnmount(() => stateStore.toggleSubToolbar());
const generalChildCount = () => {
no hace falta definir llaves y return
@ -19,6 +19,7 @@ const trainsData = ref([]);
const machinesData = ref([]);
const route = useRoute();
const routeId = computed(() => route.params.id);
const selected = ref([]);
No entiendo la propiedad selected que papel hace
para pasarle a crudModel que operario es y que pueda eliminarlo con el botón del subtoolbar
Okey, veo la necesidad, pero la ejecución es compleja.
Se puede hacer con menos lineas
@ -42,2 +43,4 @@
crudModelRef.value.reload();
}
watch(
No veo la utilidad de este watch
@ -44,3 +59,4 @@
</script>
<template>
Revisar esta sección porque los botones de la subtoolbar se ven raros, mas altos o comprimidos
Así se ven los botones

@ -25,1 +12,4 @@
let expectedInsertBody;
let expectedUpdateBody;
function generateWrapper({url = '/test', body = { name: 'Tony', lastName: 'Stark' }, text = null, observationType = null, selectType = false, saveUrl = null, justInput = false }) {
Hay que darle una vuelta a este único parámetro de la función, lo veo muy largo para estar ahi
New commits pushed, approval review dismissed automatically according to repository settings
@ -28,1 +36,4 @@
const festiveEventsMap = ref({});
const saveUrl = ref();
const body = {
workerFk: route.params.id,
entiendo la buena practica pero al ser 1 sola linea, menor abajo
2 bien, pero 3 ya no
New commits pushed, approval review dismissed automatically according to repository settings