From ef3651e09479cac9bc77e76942fdd6cf76a4f7d6 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Tue, 3 Sep 2024 16:14:13 +0800 Subject: [PATCH] * [task#126374,doing,2h] Add the tutorial of docManage. --- module/doc/model.php | 4 + module/doc/ui/create.text.html.php | 6 +- module/doc/ui/createbutton.html.php | 2 +- module/doc/ui/view.html.php | 1 + module/index/ui/app.html.php | 2 +- module/tutorial/config/docManage.php | 128 +++++++++++++++++++++++++++ module/tutorial/lang/zh-cn.php | 39 ++++---- module/tutorial/model.php | 124 +++++++++++++++++--------- 8 files changed, 239 insertions(+), 67 deletions(-) diff --git a/module/doc/model.php b/module/doc/model.php index f8fe441c22..a1f14093cc 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -50,6 +50,8 @@ class docModel extends model */ public function getLibByID(int $libID): object|bool { + if(common::isTutorialMode()) return $this->loadModel('tutorial')->getDocLib(); + return $this->dao->findByID($libID)->from(TABLE_DOCLIB)->fetch(); } @@ -820,6 +822,8 @@ class docModel extends model */ public function getByID(int $docID, int $version = 0, bool $setImgSize = false): object|bool { + if(common::isTutorialMode()) return $this->loadModel('tutorial')->getDoc(); + $doc = $this->dao->select('*')->from(TABLE_DOC) ->where('id')->eq((int)$docID) ->andWhere('vision')->eq($this->config->vision) diff --git a/module/doc/ui/create.text.html.php b/module/doc/ui/create.text.html.php index 0500b91726..11043b8f50 100644 --- a/module/doc/ui/create.text.html.php +++ b/module/doc/ui/create.text.html.php @@ -13,8 +13,8 @@ namespace zin; include 'lefttree.html.php'; $headingActions = array('class' => 'gap-3 pr-1', 'items' => array()); -$headingActions['items'][] = array('type' => 'secondary', 'class' => 'save-draft', 'text' => $lang->doc->saveDraft, 'btnType' => 'submit'); -$headingActions['items'][] = array('type' => 'primary', 'class' => 'btn-wide', 'text' => $lang->doc->release, 'url' => '#modalBasicInfo', 'data-toggle' => 'modal'); +if(!common::isTutorialMode()) $headingActions['items'][] = array('type' => 'secondary', 'class' => 'save-draft', 'text' => $lang->doc->saveDraft, 'btnType' => 'submit'); +$headingActions['items'][] = array('type' => 'primary', 'class' => 'btn-wide release-btn', 'text' => $lang->doc->release, 'url' => '#modalBasicInfo', 'data-toggle' => 'modal'); $basicInfoModal = modal ( @@ -143,7 +143,7 @@ $basicInfoModal = modal div ( setClass('form-actions form-group no-label'), - btn(set::type('primary'), set::btnType('submit'), $lang->doc->release) + btn(set::type('primary'), set::btnType('submit'), setClass('saveBasicInfoBtn'), $lang->doc->release) ) ) ); diff --git a/module/doc/ui/createbutton.html.php b/module/doc/ui/createbutton.html.php index 28bc849f13..8ccf78aed8 100644 --- a/module/doc/ui/createbutton.html.php +++ b/module/doc/ui/createbutton.html.php @@ -47,7 +47,7 @@ $buildCreateBtn = function($typeID, $libID, $moduleID) use($lib, $docModel) return btngroup( btn ( - setClass('btn primary ml-2'), + setClass('btn primary ml-2 doc-create-btn'), set::icon('plus'), set::url(createLink('doc', 'create', "objectType={$createType}&objectID={$typeID}&libID={$libID}&moduleID={$moduleID}&type=html")), set('data-app', $app->tab), diff --git a/module/doc/ui/view.html.php b/module/doc/ui/view.html.php index 933b6d5920..76e16a68ba 100644 --- a/module/doc/ui/view.html.php +++ b/module/doc/ui/view.html.php @@ -173,6 +173,7 @@ $docHeader = div set::url(createLink('doc', 'edit', "docID=$doc->id")), $doc->type != 'text' ? setData('toggle', 'modal') : null, setData('app', $app->tab), + setClass('doc-edit-btn'), set::icon('edit') ) : null, dropdown diff --git a/module/index/ui/app.html.php b/module/index/ui/app.html.php index 99a202830f..23550c07d4 100644 --- a/module/index/ui/app.html.php +++ b/module/index/ui/app.html.php @@ -10,7 +10,7 @@ if(commonModel::isTutorialMode()) to::head ( h::css(<<<'CSS' - .tutorial-hl {position: relative; z-index: 1000!important; opacity: 1!important;} + .tutorial-hl {position: relative; z-index: 1000!important;} .tutorial-popover .arrow::before {border: 3px solid var(--color-primary-500); width: 10px; height: 10px; border-radius: 50%} .tutorial-popover .arrow-top::before {top: calc(-34px - var(--arrow-size))} .tutorial-popover .arrow-left::before {left: calc(-34px - var(--arrow-size))} diff --git a/module/tutorial/config/docManage.php b/module/tutorial/config/docManage.php index dcc37c1e6e..e316f7ead9 100644 --- a/module/tutorial/config/docManage.php +++ b/module/tutorial/config/docManage.php @@ -87,3 +87,131 @@ $docManage->tasks['docManage']['steps'][] = array( 'url' => array('doc', 'tablecontents'), 'title' => $lang->tutorial->docManage->step10->name ); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'click', + 'target' => 'li.menu-item[z-key="adddirectory"] a', + 'page' => 'doc-tablecontents', + 'url' => array('doc', 'tablecontents'), + 'title' => $lang->tutorial->docManage->step11->name, + 'desc' => $lang->tutorial->docManage->step11->desc +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'click', + 'target' => 'li.tree-item menu.tree', + 'page' => 'doc-tablecontents', + 'url' => array('doc', 'tablecontents'), + 'title' => $lang->tutorial->docManage->step12->name +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'click', + 'target' => '#actionBar a.doc-create-btn', + 'page' => 'doc-tablecontents', + 'url' => array('doc', 'tablecontents'), + 'title' => $lang->tutorial->docManage->step13->name, + 'desc' => $lang->tutorial->docManage->step13->desc +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'form', + 'target' => '#docForm', + 'page' => 'doc-create', + 'title' => $lang->tutorial->docManage->step14->name +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'click', + 'target' => 'div.panel-actions a.release-btn', + 'page' => 'doc-create', + 'title' => $lang->tutorial->docManage->step15->name +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'form', + 'target' => '#modalBasicInfo div.modal-body', + 'page' => 'doc-create', + 'title' => $lang->tutorial->docManage->step16->name +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'saveForm', + 'target' => '#modalBasicInfo button.saveBasicInfoBtn', + 'page' => 'doc-create', + 'title' => $lang->tutorial->docManage->step17->name, + 'desc' => $lang->tutorial->docManage->step17->desc +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'click', + 'target' => 'div.dtable div[data-col="title"][data-row="1"] a', + 'page' => 'doc-tablecontents', + 'url' => array('doc', 'tablecontents'), + 'title' => $lang->tutorial->docManage->step18->name, + 'desc' => $lang->tutorial->docManage->step18->desc +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'click', + 'target' => '#docToolbar a.doc-edit-btn', + 'page' => 'doc-view', + 'title' => $lang->tutorial->docManage->step19->name, + 'desc' => $lang->tutorial->docManage->step19->desc +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'form', + 'target' => '#docForm div.panel-body', + 'page' => 'doc-edit', + 'title' => $lang->tutorial->docManage->step20->name +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'saveForm', + 'target' => '#docForm button[type="submit"]', + 'page' => 'doc-edit', + 'title' => $lang->tutorial->docManage->step21->name, + 'desc' => $lang->tutorial->docManage->step21->desc +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'click', + 'target' => '#docBody #versionDropdown-toggle', + 'page' => 'doc-view', + 'url' => array('doc', 'view', 'docID=1'), + 'title' => $lang->tutorial->docManage->step22->name, + 'desc' => $lang->tutorial->docManage->step22->desc +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'click', + 'target' => 'menu.is-contextmenu div.listitem .toolbar button', + 'page' => 'doc-view', + 'title' => $lang->tutorial->docManage->step23->name, + 'desc' => $lang->tutorial->docManage->step23->desc +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'click', + 'target' => 'menu.is-contextmenu menu.dropdown-menu li.menu-item[z-key="2"]', + 'page' => 'doc-view', + 'title' => $lang->tutorial->docManage->step24->name, + 'desc' => $lang->tutorial->docManage->step24->desc +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'click', + 'target' => 'menu.is-contextmenu menu.dropdown-menu li.menu-item[z-key="1"]', + 'page' => 'doc-view', + 'title' => $lang->tutorial->docManage->step24->name, + 'desc' => $lang->tutorial->docManage->step24->desc +); + +$docManage->tasks['docManage']['steps'][] = array( + 'type' => 'click', + 'target' => 'menu.is-contextmenu button[type="button"]', + 'page' => 'doc-view', + 'title' => $lang->tutorial->docManage->step25->name, + 'desc' => $lang->tutorial->docManage->step25->desc +); diff --git a/module/tutorial/lang/zh-cn.php b/module/tutorial/lang/zh-cn.php index a45615a60a..3b12f5d27d 100644 --- a/module/tutorial/lang/zh-cn.php +++ b/module/tutorial/lang/zh-cn.php @@ -1560,7 +1560,7 @@ $lang->tutorial->docManage->step9->name = '保存表单'; $lang->tutorial->docManage->step9->desc = '保存后在左侧目录树中查看'; $lang->tutorial->docManage->step10 = new stdClass(); -$lang->tutorial->docManage->step10->name = '点击更多按钮'; +$lang->tutorial->docManage->step10->name = '鼠标移入,点击更多按钮'; $lang->tutorial->docManage->step11 = new stdClass(); $lang->tutorial->docManage->step11->name = '点击添加目录'; @@ -1580,36 +1580,39 @@ $lang->tutorial->docManage->step15 = new stdClass(); $lang->tutorial->docManage->step15->name = '点击发布'; $lang->tutorial->docManage->step16 = new stdClass(); -$lang->tutorial->docManage->step16->name = '保存发布'; -$lang->tutorial->docManage->step16->desc = '保存后在文档列表中查看'; +$lang->tutorial->docManage->step16->name = '填写表单'; $lang->tutorial->docManage->step17 = new stdClass(); -$lang->tutorial->docManage->step17->name = '点击文档标题'; -$lang->tutorial->docManage->step17->desc = '点击查看文档详情,支持收藏、编辑、导出文档,支持查看文档的历史记录、更新信息。'; +$lang->tutorial->docManage->step17->name = '保存发布'; +$lang->tutorial->docManage->step17->desc = '保存后在文档列表中查看'; $lang->tutorial->docManage->step18 = new stdClass(); -$lang->tutorial->docManage->step18->name = '点击编辑按钮'; -$lang->tutorial->docManage->step18->desc = '点击修改文档内容'; +$lang->tutorial->docManage->step18->name = '点击文档标题'; +$lang->tutorial->docManage->step18->desc = '点击查看文档详情,支持收藏、编辑、导出文档,支持查看文档的历史记录、更新信息。'; $lang->tutorial->docManage->step19 = new stdClass(); -$lang->tutorial->docManage->step19->name = '修改文档'; +$lang->tutorial->docManage->step19->name = '点击编辑按钮'; +$lang->tutorial->docManage->step19->desc = '点击修改文档内容'; $lang->tutorial->docManage->step20 = new stdClass(); -$lang->tutorial->docManage->step20->name = '点击发布'; -$lang->tutorial->docManage->step20->desc = '点击保存修改的内容'; +$lang->tutorial->docManage->step20->name = '修改文档'; $lang->tutorial->docManage->step21 = new stdClass(); -$lang->tutorial->docManage->step21->name = '点击版本'; -$lang->tutorial->docManage->step21->desc = '点击切换文档版本历史版本记录'; +$lang->tutorial->docManage->step21->name = '点击发布'; +$lang->tutorial->docManage->step21->desc = '点击保存修改的内容'; $lang->tutorial->docManage->step22 = new stdClass(); -$lang->tutorial->docManage->step22->name = '点击对比'; -$lang->tutorial->docManage->step22->desc = '点击对比按钮可以选择不同的版本进行对比'; +$lang->tutorial->docManage->step22->name = '点击版本'; +$lang->tutorial->docManage->step22->desc = '点击切换文档版本历史版本记录'; $lang->tutorial->docManage->step23 = new stdClass(); -$lang->tutorial->docManage->step23->name = '勾选版本'; -$lang->tutorial->docManage->step23->desc = '选择两个需要比对的版本'; +$lang->tutorial->docManage->step23->name = '点击对比'; +$lang->tutorial->docManage->step23->desc = '点击对比按钮可以选择不同的版本进行对比'; $lang->tutorial->docManage->step24 = new stdClass(); -$lang->tutorial->docManage->step24->name = '点击确认'; -$lang->tutorial->docManage->step24->desc = '点击开始对比'; +$lang->tutorial->docManage->step24->name = '勾选版本'; +$lang->tutorial->docManage->step24->desc = '选择两个需要比对的版本'; + +$lang->tutorial->docManage->step25 = new stdClass(); +$lang->tutorial->docManage->step25->name = '点击确认'; +$lang->tutorial->docManage->step25->desc = '点击开始对比'; diff --git a/module/tutorial/model.php b/module/tutorial/model.php index bbf2f0dc1c..a26f64c4b8 100644 --- a/module/tutorial/model.php +++ b/module/tutorial/model.php @@ -1888,9 +1888,9 @@ class tutorialModel extends model * Get doc lib. * * @access public - * @return array + * @return object */ - public function getDocLibs(): array + public function getDocLib(): object { $docLib = new stdClass(); $docLib->id = 2; @@ -1913,6 +1913,19 @@ class tutorialModel extends model $docLib->addedDate = helper::now(); $docLib->deleted = 0; $docLib->allCount = 2; + return $docLib; + } + + /** + * 获取新手模式文档库。 + * Get doc lib. + * + * @access public + * @return array + */ + public function getDocLibs(): array + { + $docLib = $this->getDocLib(); return array($docLib->id => $docLib); } @@ -1945,52 +1958,75 @@ class tutorialModel extends model * Get doc. * * @access public + * @return object + */ + public function getDoc(): object + { + $doc = new stdClass(); + $doc->id = 1; + $doc->vision = 'rnd'; + $doc->project = 0; + $doc->product = 0; + $doc->execution = 0; + $doc->lib = 2; + $doc->template = ''; + $doc->templateType = ''; + $doc->chapterType = ''; + $doc->module = 0; + $doc->title = 'Test Doc'; + $doc->keywords = ''; + $doc->type = 'text'; + $doc->status = 'normal'; + $doc->parent = 0; + $doc->path = ''; + $doc->grade = 0; + $doc->order = 10; + $doc->views = 1; + $doc->assetLib = 0; + $doc->assetLibType = ''; + $doc->from = 0; + $doc->fromVersion = 1; + $doc->draft = "This is the description of the document."; + $doc->collects = 0; + $doc->addedBy = $this->app->user->account; + $doc->addedDate = helper::now(); + $doc->assignedTo = ''; + $doc->assignedDate = ''; + $doc->approvedDate = ''; + $doc->editedBy = ''; + $doc->editedDate = ''; + $doc->editingDate = array(); + $doc->editedList = ",{$this->app->user->account}"; + $doc->mailto = ''; + $doc->acl = 'open'; + $doc->groups = ''; + $doc->users = ''; + $doc->version = 2; + $doc->deleted = 0; + $doc->collector = ''; + $doc->releasedDate = ''; + $doc->releasedBy = $this->app->user->account; + $doc->digest = helper::now(); + $doc->content = "This is the description of the document."; + $doc->contentType = 'html'; + $doc->contentVersion = 2; + $doc->files = array(); + $doc->moduleName = ''; + $doc->executionName = ''; + $doc->productName = ''; + return $doc; + } + + /** + * 获取新手模式文档列表。 + * Get docs. + * + * @access public * @return array */ public function getDocs(): array { - $doc = new stdClass(); - $doc->id = 1; - $doc->vision = 'rnd'; - $doc->project = 0; - $doc->product = 0; - $doc->execution = 0; - $doc->lib = 2; - $doc->template = ''; - $doc->templateType = ''; - $doc->chapterType = ''; - $doc->module = 0; - $doc->title = 'Test Doc'; - $doc->keywords = ''; - $doc->type = 'text'; - $doc->status = 'normal'; - $doc->parent = 0; - $doc->path = ''; - $doc->grade = 0; - $doc->order = 10; - $doc->views = 1; - $doc->assetLib = 0; - $doc->assetLibType = ''; - $doc->from = 0; - $doc->fromVersion = 1; - $doc->draft = "This is the description of the document."; - $doc->collects = 0; - $doc->addedBy = $this->app->user->account; - $doc->addedDate = helper::now(); - $doc->assignedTo = ''; - $doc->assignedDate = ''; - $doc->approvedDate = ''; - $doc->editedBy = ''; - $doc->editedDate = ''; - $doc->editingDate = array(); - $doc->editedList = ",{$this->app->user->account}"; - $doc->mailto = ''; - $doc->acl = 'open'; - $doc->groups = ''; - $doc->users = ''; - $doc->version = 2; - $doc->deleted = 0; - $doc->collector = ''; + $doc = $this->getDoc(); return array($doc->id => $doc); } }