Sorting BIM360问题分类()
所以我从forge改编了这个 我目前可以通过一个面板检索所有问题,我正在尝试按属性(如截止日期)对多个问题进行排序。我尝试过几种不同的肮脏方法,但不确定如何让它发挥作用 有什么想法吗?下面是代码,我在哪里输入sortBy方法Sorting BIM360问题分类(),sorting,autodesk-viewer,autodesk,autodesk-bim360,Sorting,Autodesk Viewer,Autodesk,Autodesk Bim360,所以我从forge改编了这个 我目前可以通过一个面板检索所有问题,我正在尝试按属性(如截止日期)对多个问题进行排序。我尝试过几种不同的肮脏方法,但不确定如何让它发挥作用 有什么想法吗?下面是代码,我在哪里输入sortBy方法 BIM360IssueExtension.prototype.showIssues = function () { var _this = this; //remove the list of last time var pushPinExtension =
BIM360IssueExtension.prototype.showIssues = function () {
var _this = this;
//remove the list of last time
var pushPinExtension = _this.viewer.getExtension(_this.pushPinExtensionName);
pushPinExtension.removeAllItems();
pushPinExtension.showAll();
var selected = getSelectedNode();
_this.issues.forEach(function (issue) {
var dateCreated = moment(issue.attributes.created_at);
// show issue on panel
if (_this.panel) {
_this.panel.addProperty('Title', issue.attributes.title, 'Issue ' + issue.attributes.identifier);
_this.panel.addProperty('Assigned to', issue.attributes.assigned_to, 'Issue ' + issue.attributes.identifier);
//_this.panel.addProperty('Location', stringOrEmpty(issue.attributes.location_description), 'Issue ' + issue.attributes.identifier);
_this.panel.addProperty('Version', 'V' + issue.attributes.starting_version + (selected.version != issue.attributes.starting_version ? ' (Not current)' : ''), 'Issue ' + issue.attributes.identifier)
_this.panel.addProperty('Due Date', issue.attributes.due_date, 'Issue ' + issue.attributes.identifier);
_this.panel.addProperty('Created at', dateCreated.format('MMMM Do YYYY, h:mm a'), 'Issue ' + issue.attributes.identifier);
}
// add the pushpin
var issueAttributes = issue.attributes;
var pushpinAttributes = issue.attributes.pushpin_attributes;
if (pushpinAttributes) {
issue.type = issue.type.replace('quality_', ''); // temp fix during issues > quality_issues migration
pushPinExtension.createItem({
id: issue.id,
label: issueAttributes.identifier,
status: issue.type && issueAttributes.status.indexOf(issue.type) === -1 ? `${issue.type}-${issueAttributes.status}` : issueAttributes.status,
position: pushpinAttributes.location,
type: issue.type,
objectId: pushpinAttributes.object_id,
viewerState: pushpinAttributes.viewer_state
});
}
})
}
首先,您需要一些库来进行排序,例如。您只需使用他们的CDN即可:
<script src="https://underscorejs.org/underscore-min.js"></script>
顺便说一句,您需要处理到期日未指定为空的情况我尝试过输入此项,但它对结果没有任何影响,我在代码的多个不同位置尝试过它?我编辑了我的答案,并带有指向放置位置的链接当我这样做时,问题扩展不会加载,只是普通的查看器?这可能是由于某些语法错误。。。控制台上有什么吗?我试过代码,很好,抱歉,我只是试过日期,标题很好,日期没有,它现在显示了扩展,只是没有对问题进行排序
// sort by title
_this.issues = _.sortBy(_this.issues, function (i){return i.attributes.title});
// or sort by due date (this Date.parse returns an int representing the date)
_this.issues = _.sortBy(_this.issues, function (i){return Date.parse(i.attributes.due_date)});