* [bug#62378,done,1h,0h] Optimize doclist style.
This commit is contained in:
+21
-15
@@ -5,7 +5,8 @@ namespace zin;
|
||||
class docList extends wg
|
||||
{
|
||||
protected static array $defineProps = array(
|
||||
'data?: object' // 对象数据。
|
||||
'data' => '?object', // 对象数据。
|
||||
'mode' => '?string="edit"' // view还是edit模式。
|
||||
);
|
||||
|
||||
protected function build()
|
||||
@@ -13,18 +14,22 @@ class docList extends wg
|
||||
global $app, $lang;
|
||||
|
||||
$app->loadLang('task');
|
||||
$data = $this->prop('data');
|
||||
$oldDocs = $app->control->dao->select('id,title,version')->from(TABLE_DOC)->where('id')->in($data->docs)->fetchAll('id');
|
||||
$oldDocVersions = $app->control->dao->select('doc,version')->from(TABLE_DOCCONTENT)->where('doc')->in($data->docs)->fetchGroup('doc', 'version');
|
||||
$docList = $app->control->loadModel('doc')->getMySpaceDocs('all', 'bykeyword', '', 'id_desc', null, '', $data->docs);
|
||||
$data = $this->prop('data');
|
||||
$mode = $this->prop('mode');
|
||||
$oldDocs = $app->control->dao->select('id,title,version')->from(TABLE_DOC)->where('id')->in($data->docs)->fetchAll('id');
|
||||
$docList = $app->control->loadModel('doc')->getMySpaceDocs('all', 'bykeyword', '', 'id_desc', null, '', $data->docs);
|
||||
|
||||
$docs = array();
|
||||
foreach($docList as $doc) $docs[] = array('text' => $doc->title, 'value' => $doc->id);
|
||||
|
||||
$oldDocVersions = \json_decode(json_encode($oldDocVersions), true);
|
||||
foreach($oldDocVersions as $docID => $versions)
|
||||
if($mode == 'edit')
|
||||
{
|
||||
foreach($versions as $versionID => $version) $oldDocVersions[$docID][$versionID] = "#{$version['version']}";
|
||||
$oldDocVersions = $app->control->dao->select('doc,version')->from(TABLE_DOCCONTENT)->where('doc')->in($data->docs)->fetchGroup('doc', 'version');
|
||||
$oldDocVersions = \json_decode(json_encode($oldDocVersions), true);
|
||||
foreach($oldDocVersions as $docID => $versions)
|
||||
{
|
||||
foreach($versions as $versionID => $version) $oldDocVersions[$docID][$versionID] = "#{$version['version']}";
|
||||
}
|
||||
}
|
||||
|
||||
if(is_string($data->docVersions)) $data->docVersions = \json_decode($data->docVersions, true);
|
||||
@@ -34,14 +39,15 @@ class docList extends wg
|
||||
{
|
||||
foreach(explode(',', $data->docs) as $docID)
|
||||
{
|
||||
$link = $mode == 'view' && common::hasPriv('doc', 'view') ? a(set::href(helper::createLink('doc', 'view', "docID={$docID}&version={$data->docVersions[$docID]}")), $oldDocs[$docID]->title) : $oldDocs[$docID]->title;
|
||||
$docBox[] = div
|
||||
(
|
||||
setClass('docItem flex items-center py-1'),
|
||||
span(setClass('mr-4 p-1'), icon(setClass('mr-2'), 'file-text'), $oldDocs[$docID]->title),
|
||||
div(setClass('w-24'), picker(set::required(true), set::name("docVersions[$docID]"), set::items($oldDocVersions[$docID]), set::value($data->docVersions[$docID]))),
|
||||
$oldDocs[$docID]->version != $data->docVersions[$docID] ? label(setClass('ml-2 warning'), $lang->task->docSyncTips) : null,
|
||||
input(setClass('hidden'), set::name("oldDocs[$docID]"), set::value($docID)),
|
||||
btn(setClass('ghost ml-2'), icon('trash'), setData(array('on' => 'click', 'call' => 'function(){$(event.target).closest(".docItem").empty();}', 'params' => 'event')))
|
||||
span(setClass('mr-4 p-1'), icon(setClass('mr-2'), 'file-text'), $link),
|
||||
div(setClass('w-24'), $mode == 'edit' ? picker(set::required(true), set::name("docVersions[$docID]"), set::items($oldDocVersions[$docID]), set::value($data->docVersions[$docID])) : "#{$data->docVersions[$docID]}"),
|
||||
$mode == 'edit' && $oldDocs[$docID]->version != $data->docVersions[$docID] ? label(setClass('ml-2 warning'), $lang->task->docSyncTips) : null,
|
||||
$mode == 'edit' ? input(setClass('hidden'), set::name("oldDocs[$docID]"), set::value($docID)) : null,
|
||||
$mode == 'edit' ? btn(setClass('ghost ml-2'), icon('trash'), setData(array('on' => 'click', 'call' => 'function(){$(event.target).closest(".docItem").empty();}', 'params' => 'event'))) : null
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -49,7 +55,7 @@ class docList extends wg
|
||||
|
||||
return div
|
||||
(
|
||||
picker
|
||||
$mode == 'edit' ? picker
|
||||
(
|
||||
set::name('docs'),
|
||||
set::items($docs),
|
||||
@@ -57,7 +63,7 @@ class docList extends wg
|
||||
set::maxItemsCount(50),
|
||||
set::menu(array('checkbox' => true)),
|
||||
set::toolbar(true)
|
||||
),
|
||||
) : null,
|
||||
div(setClass('mt-2'), $docBox)
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user