publish.step.html.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <?php
  2. /**
  3. * The step publish view file of pivot design module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2024 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  5. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  6. * @author Chenxuan Song <songchenxuan@easycorp.ltd>
  7. * @package pivot
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $fnGenerateStepPublishConfig = function($pivotState) use($lang, $pivot, $groups, $fnAclBox)
  12. {
  13. $clientLang = $this->app->getClientLang();
  14. $nameTabItems = array();
  15. $descTabItems = array();
  16. foreach($this->config->langs as $langKey => $currentLang)
  17. {
  18. $nameTabItems[] = tabPane
  19. (
  20. set::key('name_' . str_replace('-', '_', $langKey)),
  21. set::active($langKey == $clientLang),
  22. set::title($currentLang),
  23. div
  24. (
  25. set('data-lang', $langKey),
  26. input
  27. (
  28. setID("name{$langKey}"),
  29. setClass('pivot-lang-name'),
  30. set::name("name[$langKey]"),
  31. set::value(\zget($pivotState->names, $langKey, '')),
  32. on::change()->do("changePivotLang(event, 'name')")
  33. )
  34. )
  35. );
  36. $descTabItems[] = tabPane
  37. (
  38. set::key('desc_' . str_replace('-', '_', $langKey)),
  39. set::active($langKey == $clientLang),
  40. set::title($currentLang),
  41. div
  42. (
  43. set('data-lang', $langKey),
  44. textarea
  45. (
  46. setID("desc{$langKey}"),
  47. setClass('pivot-lang-desc'),
  48. set::name("desc[$langKey]"),
  49. set::value(\zget($pivotState->descs, $langKey, '')),
  50. on::change()->do("changePivotLang(event, 'desc')")
  51. )
  52. )
  53. );
  54. }
  55. return pivotConfig
  56. (
  57. set::title($lang->pivot->legendBasicInfo),
  58. set::saveText($lang->save),
  59. set::nextText($lang->pivot->nextButton['publish']),
  60. set::onSave('saveInfo(event)'),
  61. set::onNext("savePivot('published')"),
  62. to::heading
  63. (
  64. div
  65. (
  66. setClass('flex'),
  67. toolbar
  68. (
  69. setClass('pr-1 add-button'),
  70. btn(set(array('text' => $lang->pivot->setLang, 'data-toggle' => 'modal', 'data-name' => $lang->pivot->setLang, 'data-target' => '#setLang', 'class' => 'primary-pale')))
  71. )
  72. )
  73. ),
  74. div
  75. (
  76. setID('legendForm'),
  77. setClass('px-1'),
  78. formGroup
  79. (
  80. set::label($this->lang->pivot->group),
  81. picker
  82. (
  83. setClass('pivot-group'),
  84. set::name('group'),
  85. set::items($groups),
  86. set::value($pivotState->group),
  87. set::multiple(true),
  88. on::change()->do("changePivot(event, 'group')")
  89. )
  90. ),
  91. formGroup
  92. (
  93. set::label($this->lang->pivot->name),
  94. set::required(true),
  95. input
  96. (
  97. setClass('pivot-name'),
  98. set::name("name[$clientLang]"),
  99. set::value($pivotState->name),
  100. set('data-lang', $clientLang)
  101. )
  102. ),
  103. formGroup
  104. (
  105. set::label($this->lang->pivot->desc),
  106. textarea
  107. (
  108. setClass('pivot-desc'),
  109. set::name("desc[$clientLang]"),
  110. set::value($pivotState->desc),
  111. set::rows(7),
  112. set('data-lang', $clientLang)
  113. )
  114. ),
  115. $fnAclBox($this->lang->pivot->aclList, $pivotState->acl, $pivotState->whitelist),
  116. on::change('#legendForm .pivot-name')->do("changePivot(event, 'name')"),
  117. on::change('#legendForm .pivot-desc')->do("changePivot(event, 'desc')"),
  118. on::change('#legendForm input[name="acl"]')->do('changePivotAcl(event)'),
  119. on::change('#legendForm select[name="whitelist[]"]')->do('changePivotWhitelist(event)'),
  120. modal
  121. (
  122. setID('setLang'),
  123. setData('backdrop', 'static'),
  124. set::title($this->lang->pivot->setLang),
  125. h::table
  126. (
  127. setClass('table borderless'),
  128. on::change('#setLang .pivot-lang-name')->do("changePivot(event, 'name')"),
  129. on::change('#setLang .pivot-lang-desc')->do("changePivot(event, 'desc')"),
  130. h::tr
  131. (
  132. h::th
  133. (
  134. set::width('80px'),
  135. $this->lang->pivot->name
  136. ),
  137. h::td
  138. (
  139. div(setID('name')),
  140. tabs($nameTabItems)
  141. )
  142. ),
  143. h::tr
  144. (
  145. h::th($this->lang->pivot->desc),
  146. h::td(div(setID('desc')), tabs($descTabItems))
  147. ),
  148. h::tr
  149. (
  150. h::th(),
  151. h::td
  152. (
  153. btn
  154. (
  155. set::type('primary'),
  156. setID('saveLang'),
  157. $this->lang->save,
  158. on::click()->do('saveInfo(event)')
  159. )
  160. )
  161. )
  162. )
  163. )
  164. )
  165. );
  166. };