diff --git a/ayanova/src/views/inv-part-assembly.vue b/ayanova/src/views/inv-part-assembly.vue index 95d7adb8..3c35578b 100644 --- a/ayanova/src/views/inv-part-assembly.vue +++ b/ayanova/src/views/inv-part-assembly.vue @@ -21,6 +21,7 @@ - + {{ item.partDisplay }} @@ -201,67 +202,17 @@ export default { data() { return { formCustomTemplateKey: FORM_CUSTOM_TEMPLATE_KEY, - /* - { - "data": { - "id": 2, - "concurrency": 4644405, - "name": "asm2662", - "active": true, - "notes": "Vel error explicabo facilis nemo.", - "wiki": null, - "customFields": null, - "tags": [ - "silver", - "white", - "xanthic", - "zone2", - "zone5" - ], - "items": [ - { - "id": 5, - "concurrency": 4644405, - "partAssemblyId": 2, - "partId": 319 - }, - { - "id": 6, - "concurrency": 4644405, - "partAssemblyId": 2, - "partId": 25 - }, - { - "id": 7, - "concurrency": 4644405, - "partAssemblyId": 2, - "partId": 267 - }, - { - "id": 8, - "concurrency": 4644405, - "partAssemblyId": 2, - "partId": 213 - } - ] - } -} - */ - obj: - //IMPORTANT NOTE: Fields that are NON NULLABLE in the schema for the table but *are* hideable **MUST** have a default value set here or else there will be no way to save the record - //I.E. Serial, usertype fields, ACTIVE - //Also, if it's a non-nullable Enum backed field then it should have a valid selection i.e. not zero if there is no zero - { - id: 0, - concurrency: 0, - name: null, - active: true, - notes: null, - wiki: null, - customFields: "{}", - tags: [], - items: [] - }, + obj: { + id: 0, + concurrency: 0, + name: null, + active: true, + notes: null, + wiki: null, + customFields: "{}", + tags: [], + items: [] + }, formState: { ready: false, dirty: false, @@ -311,11 +262,22 @@ export default { deep: true } }, + computed: { + sortedList: function() { + function compare(a, b) { + if (a.partDisplay < b.partDisplay) return -1; + if (a.partDisplay > b.partDisplay) return 1; + return 0; + } + + return this.obj.items.slice().sort(compare); + } + }, methods: { addItem: function() { let vm = this; let selected = vm.$refs.partId.getFullSelectionValue(); - if (selected == null) { + if (selected == null || selected.id == null) { return; } let index = vm.obj.items.findIndex(z => z.partId == selected.id); @@ -329,6 +291,8 @@ export default { partId: selected.id, partDisplay: selected.name }); + + vm.formState.dirty = true; }, removeItem: function(item) { let vm = this;