controller.hbs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import {invokeServer, msg, Scope} from 'yvan-ext'
  2. import vjson from "./{{{ groovyClass }}}.view"
  3. import model from "./{{{ groovyClass }}}.model"
  4. export default class {{{ groovyClass }}} extends Scope {
  5. path = '{{{ invokeUrlPrefix }}}'
  6. constructor() {
  7. super({model, vjson});
  8. }
  9. onLoad() {
  10. }
  11. refresh() {
  12. this.refs.grid1.reload()
  13. }
  14. grid1Select(sender, selected) {
  15. this.viewModel.set('selectedRow', selected[0]?.data)
  16. }
  17. {{#if addButton}}
  18. add() {
  19. this.refs.grid1.appendEditRow({}, 1)
  20. }
  21. {{/if}}
  22. {{#if deleteButton}}
  23. remove() {
  24. const grid1 = this.refs.grid1
  25. const selected = grid1?.selModel?.selected?.items?.map(row => row.data)[0]
  26. if (selected && grid1?.getStore().getNewRecords().map(row => row.data).indexOf(selected) < 0) {
  27. system.confirm(`{{{ deleteTips }}}`)
  28. .then(() => {
  29. this.setLoading(true)
  30. invokeServer(`${this.path}@deleteItem`, selected)
  31. .then(res => {
  32. grid1?.removeEditRow()
  33. system.msg(res.msg)
  34. }).finally(() => this.setLoading(false))
  35. })
  36. } else {
  37. grid1?.removeEditRow()
  38. }
  39. }
  40. {{/if}}
  41. {{#if saveButton}}
  42. save() {
  43. let {newRows, modifyRows, removeRecords, err} = system.getGridEditRows(this.refs.grid1)
  44. if (err) return
  45. this.setLoading(true)
  46. invokeServer(`${this.path}@saveItems`, {newRows, modifyRows, removeRecords})
  47. .then(res => {
  48. system.msg(res.msg)
  49. this.refs.grid1.reload()
  50. }).finally(() => this.setLoading(false))
  51. }
  52. {{/if}}
  53. }