adddoc.html.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace zin;
  3. $spaces = array();
  4. if($from == 'teamknowledgelib') unset($lang->ai->knowledgeLibs->spaces['mine']);
  5. foreach($lang->ai->knowledgeLibs->spaces as $space => $name)
  6. {
  7. if($space == 'api' && hasPriv('api', 'index')) $spaces[$space] = $name;
  8. if($space != 'api' && hasPriv('doc', ($space === 'custom' ? 'team' : $space) . 'Space')) $spaces[$space] = $name;
  9. }
  10. $defaultSpace = !empty($spaces) ? array_keys($spaces)[0] : '';
  11. $this->loadModel('doc');
  12. $app->loadLang('api');
  13. unset($config->doc->dtable->fieldList['actions']);
  14. $cols = array();
  15. foreach($config->doc->dtable->fieldList as $colName => $col)
  16. {
  17. if(in_array($colName, array('objectName', 'module'))) continue;
  18. if($colName == 'id') $col['type'] = 'checkID';
  19. $col['sortType'] = false;
  20. $cols[$colName] = $col;
  21. }
  22. formPanel(setID('addDocForm'), set::title($title), set::actions(array()), on::init()->do('$(function() {setTimeout(toggleSpace, 50); });'), formGroup
  23. (
  24. set::name('space'),
  25. set::label($lang->ai->knowledgeLibs->selectedSpace),
  26. set::control(array('type' => 'radioList', 'inline' => true)),
  27. set::items($spaces),
  28. set::value($defaultSpace),
  29. on::change('[name=space]', 'toggleSpace')
  30. ), formGroup
  31. (
  32. setClass('api-type hidden'),
  33. set::label($lang->api->libType),
  34. radioList(set::name('apiType'), set::items($lang->api->libTypeList), set::value('product'), set::inline(true), on::change()->call('toggleApiType', jsRaw('event.target.value')))
  35. ), formGroup
  36. (
  37. setClass('w-1/2 specific-space'),
  38. set::label($lang->ai->knowledgeLibs->space),
  39. picker
  40. (
  41. set::name('libParentID'),
  42. set::items(array()),
  43. set::value(''),
  44. on::change('[name=libParentID]', 'toggleLibParentID')
  45. )
  46. ), formGroup
  47. (
  48. setClass('w-1/2'),
  49. set::label($lang->ai->knowledgeLibs->selectedDocLibrary),
  50. picker
  51. (
  52. set::name('libID'),
  53. set::items(array()),
  54. set::value(''),
  55. on::change('[name=libID]', 'toggleLibID')
  56. )
  57. ));
  58. div(setClass('btns-type mt-4'), btn
  59. (
  60. setClass('ghost rounded'),
  61. set::text($lang->ai->featureBar['adddoc']['all']),
  62. setData('id', 'all'),
  63. label(setClass('size-sm canvas ring-0 rounded-md'), 0),
  64. on::click()->call('toggleBrowseType', "all", jsRaw('this'))
  65. ), btn
  66. (
  67. setClass('ghost rounded'),
  68. set::text($lang->ai->featureBar['adddoc']['draft']),
  69. setData('id', 'draft'),
  70. label(setClass('size-sm canvas ring-0 rounded-md hidden'), 0),
  71. on::click()->call('toggleBrowseType', "draft", jsRaw('this'))
  72. ));
  73. dtable
  74. (
  75. setID('docSelectTable'),
  76. set::cols($cols),
  77. set::data(array()),
  78. set::userMap($users),
  79. set::checkable(true),
  80. set::height(200),
  81. set::onCheckChange(jsRaw('window.checkedChange')),
  82. set::onRenderCell(jsRaw('window.renderDocCell')),
  83. set::footToolbar(array(array('text' => $lang->doc->insertText, 'data-on' => 'click', 'data-call' => "insertListToAI('#docSelectTable', 'doc')"))),
  84. set::footPager(usePager())
  85. );