Skip to content

Commit

Permalink
CSPACE-4611: Initial pass at concept authority ui
Browse files Browse the repository at this point in the history
  • Loading branch information
Ray Lee committed Mar 21, 2012
1 parent 722ae99 commit 004bd05
Show file tree
Hide file tree
Showing 4 changed files with 255 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/main/webapp/defaults/bundle/core-messages.properties
Expand Up @@ -400,6 +400,10 @@ location-updatedAtEndLabel: Latest
location-editUsername: Record Modified By location-editUsername: Record Modified By
location-identificationNumberRequired: Please specify a Display Name location-identificationNumberRequired: Please specify a Display Name


#concept
concept: Concept
concept-displayNameLabel: Display Name

#media #media
media-fileInformationHeaderLabel: File Information media-fileInformationHeaderLabel: File Information
media-mediaInformationLabel: Media Handling Information media-mediaInformationLabel: Media Handling Information
Expand Down
87 changes: 87 additions & 0 deletions src/main/webapp/defaults/config/concept.json
@@ -0,0 +1,87 @@
{
"pageBuilder": {
"options": {
"pageType": "concept",
"selectors": {
"recordEditor": ".csc-concept-template"
},
"components": {
"recordEditor": {
"type": "cspace.recordEditor",
"options": {
"applier": "{pageBuilder}.applier",
"uispec": "{pageBuilder}.options.uispec.recordEditor",
"model": "{pageBuilder}.model",
"fieldsToIgnore": ["csid", "fields.csid", "fields.shortIdentifier"],
"selectors": {
"hierarchy": ".csc-concept-hierarchy",
"identificationNumber": ".csc-concept-displayName"
},
"selectorsToIgnore": ["recordTraverser", "requiredFields", "identificationNumber", "header", "togglable", "hierarchy"],
"components": {
"hierarchy": {
"type": "cspace.hierarchy",
"options": {
"uispec": "{pageBuilder}.options.uispec.hierarchy"
},
"createOnEvent": "afterRender"
}
}
}
},
"titleBar": {
"type": "cspace.titleBar",
"options": {
"fields": [
"fields.displayName"
]
}
},
"header": {
"type": "cspace.header",
"options": {
"schema": "{pageBuilder}.schema",
"permissions": "{pageBuilder}.permissions"
}
},
"tabs": {
"type": "cspace.tabs"
},
"sidebar": {
"type": "cspace.sidebar"
}
}
}
},
"pageBuilderIO": {
"options": {
"recordType": "concept",
"schema": [
"recordlist",
"recordtypes",
"namespaces",
"concept"
],
"pageSpec": {
"recordEditor": {
"href": "pages/ConceptTemplate.html",
"templateSelector": ".csc-concept-template",
"targetSelector": ".csc-record-edit-container"
}
},
"components": {
"dataContext": {
"options": {
"baseUrl": {
"expander": {
"type": "fluid.deferredInvokeCall",
"func": "cspace.util.urlBuilder",
"args": "%tenant/%tname/vocabularies"
}
}
}
}
}
}
}
}
47 changes: 47 additions & 0 deletions src/main/webapp/defaults/html/pages/ConceptTemplate.html
@@ -0,0 +1,47 @@
<div class="csc-concept-template csc-listEditor-details">
<div class="csc-concept">
<div id="secondary-nav">
<div id="secondary-nav-menu-sub">
<span class="csc-recordTraverser"></span>
<div class="button-row">
<a style="display:none;" class="csc-goto gotoButton"></a>
<input type="button" class="csc-createFromExisting createFromExistingButton" />
<input type="button" class="csc-cancel cancelButton" />
<input type="button" class="csc-delete deleteButton" />
<input type="button" class="csc-save saveButton" />
</div>
<div class="time-stamp"> </div>
</div>
</div>

<div class="csc-templateEditor"></div>

<div class="fl-container-flex fl-fix information-group info-column">
<div class="csc-recordEditor-header fl-container-flex header toggle">Concept Authority</div>
<div class="csc-recordEditor-togglable fl-container-flex fl-fix content main">
<div class="info-column">
<div class="info-column2-50 fl-force-left" >
<div class="info-pair">
<div class="header"><span class="label required csc-concept-displayName-label"></span><span class="required">*</span></div>
<div class="content clearfix"><input type="text" class="csc-concept-displayName" /></div>
</div>
</div>
</div>
</div>
</div>

<div class="csc-concept-hierarchy"></div>

<div id="secondary-nav-footer">
<div id="secondary-nav-menu-sub">
<div class="button-row">
<a style="display:none;" class="csc-goto gotoButton"></a>
<input type="button" class="csc-createFromExisting createFromExistingButton" />
<input type="button" class="csc-cancel cancelButton" />
<input type="button" class="csc-delete deleteButton" />
<input type="button" class="csc-save saveButton" />
</div>
</div>
</div>
</div>
</div>
117 changes: 117 additions & 0 deletions src/main/webapp/defaults/js/Demands.js
Expand Up @@ -94,6 +94,10 @@ https://source.collectionspace.org/collection-space/LICENSE.txt
funcName: "cspace.recordList.selectNavigateVocab", funcName: "cspace.recordList.selectNavigateVocab",
args: ["{recordList}.model", "{recordList}.options", "{recordList}.options.urls.navigateLocal", "{permissionsResolver}", "{recordList}.dom"] args: ["{recordList}.model", "{recordList}.options", "{recordList}.options.urls.navigateLocal", "{permissionsResolver}", "{recordList}.dom"]
}); });
fluid.demands("select", ["cspace.recordList", "cspace.localData", "concept", "cspace.relatedRecordsList"], {
funcName: "cspace.recordList.selectNavigateVocab",
args: ["{recordList}.model", "{recordList}.options", "{recordList}.options.urls.navigateLocal", "{permissionsResolver}", "{recordList}.dom"]
});


// Report Producer // Report Producer
fluid.demands("cspace.reportProducer.reportTypesSource", ["cspace.reportProducer", "cspace.localData"], { fluid.demands("cspace.reportProducer.reportTypesSource", ["cspace.reportProducer", "cspace.localData"], {
Expand Down Expand Up @@ -665,6 +669,26 @@ https://source.collectionspace.org/collection-space/LICENSE.txt
} }
}, "{arguments}.1"] }, "{arguments}.1"]
}); });
fluid.demands("cspace.autocomplete", ["cspace.recordEditor", "concept", "cspace.hierarchy"], {
container: "{arguments}.0",
mergeAllOptions: [{
invokers: {
handlePermissions: {
funcName: "cspace.autocomplete.handlePermissions",
args: ["{autocomplete}.applier", "{autocomplete}.model", "cspace.permissions.resolve", {
resolver: "{permissionsResolver}",
permission: "update"
}, "create", "{autocomplete}.autocompleteInput"]
}
},
components: {
confirmation: "{confirmation}",
broaderDataSource: {
type: "cspace.autocomplete.broaderDataSource"
}
}
}, "{arguments}.1"]
});
fluid.demands("cspace.autocomplete", ["cspace.recordEditor", "person", "cspace.hierarchy"], { fluid.demands("cspace.autocomplete", ["cspace.recordEditor", "person", "cspace.hierarchy"], {
container: "{arguments}.0", container: "{arguments}.0",
mergeAllOptions: [{ mergeAllOptions: [{
Expand Down Expand Up @@ -1075,6 +1099,11 @@ https://source.collectionspace.org/collection-space/LICENSE.txt
funcName: "cspace.recordEditor.removeWithCheck", funcName: "cspace.recordEditor.removeWithCheck",
args: "{recordEditor}" args: "{recordEditor}"
}); });

fluid.demands("remove", ["cspace.recordEditor", "concept"], {
funcName: "cspace.recordEditor.removeWithCheck",
args: "{recordEditor}"
});


fluid.demands("remove", "cspace.recordEditor", { fluid.demands("remove", "cspace.recordEditor", {
funcName: "cspace.recordEditor.remove", funcName: "cspace.recordEditor.remove",
Expand Down Expand Up @@ -1415,6 +1444,20 @@ https://source.collectionspace.org/collection-space/LICENSE.txt
} }
} }
}); });
fluid.demands("cspace.recordList", ["cspace.relatedRecordsList", "concept"], {
container: "{relatedRecordsList}.dom.recordListSelector",
options: {
columns: ["number", "summary", "sourceFieldName"],
strings: {
number: "{globalBundle}.messageBase.rl-rrl-number",
summary: "{globalBundle}.messageBase.rl-rrl-summary",
sourceFieldName: "{globalBundle}.messageBase.rl-rrl-sourceFieldName"
},
model: {
items: "{relatedRecordsList}.model.refobjs"
}
}
});
fluid.demands("cspace.recordList", "cspace.relatedRecordsList", { fluid.demands("cspace.recordList", "cspace.relatedRecordsList", {
container: "{relatedRecordsList}.dom.recordListSelector", container: "{relatedRecordsList}.dom.recordListSelector",
options: { options: {
Expand Down Expand Up @@ -1470,6 +1513,10 @@ https://source.collectionspace.org/collection-space/LICENSE.txt
funcName: "cspace.recordList.selectNavigateVocab", funcName: "cspace.recordList.selectNavigateVocab",
args: ["{recordList}.model", "{recordList}.options", "{recordList}.options.urls.navigate", "{permissionsResolver}", "{recordList}.dom"] args: ["{recordList}.model", "{recordList}.options", "{recordList}.options.urls.navigate", "{permissionsResolver}", "{recordList}.dom"]
}); });
fluid.demands("select", ["cspace.recordList", "concept", "cspace.relatedRecordsList"], {
funcName: "cspace.recordList.selectNavigateVocab",
args: ["{recordList}.model", "{recordList}.options", "{recordList}.options.urls.navigate", "{permissionsResolver}", "{recordList}.dom"]
});
fluid.demands("cspace.recordList.thumbRenderer", "cspace.recordList", { fluid.demands("cspace.recordList.thumbRenderer", "cspace.recordList", {
container: "{arguments}.0", container: "{arguments}.0",
mergeAllOptions: [{ mergeAllOptions: [{
Expand Down Expand Up @@ -1666,6 +1713,16 @@ https://source.collectionspace.org/collection-space/LICENSE.txt
} }
} }
}); });
fluid.demands("relationManager", ["cspace.relatedRecordsList", "concept"], {
container: "{relatedRecordsList}.dom.relationManagerSelector",
options: {
components: {
showAddButton: {
type: "fluid.emptySubcomponent"
}
}
}
});
fluid.demands("relationManager", ["cspace.relatedRecordsList", "organization"], { fluid.demands("relationManager", ["cspace.relatedRecordsList", "organization"], {
container: "{relatedRecordsList}.dom.relationManagerSelector", container: "{relatedRecordsList}.dom.relationManagerSelector",
options: { options: {
Expand Down Expand Up @@ -2211,6 +2268,53 @@ https://source.collectionspace.org/collection-space/LICENSE.txt
} }
} }
}); });
fluid.demands("sidebar", ["cspace.pageBuilder", "concept"], {
container: "{pageBuilder}.options.selectors.sidebar",
options: {
primaryRecordType: "{pageBuilder}.options.pageType",
recordApplier: "{pageBuilder}.applier",
recordModel: "{pageBuilder}.model",
relationsElPath: "refobjs",
components: {
cataloging: {
type: "fluid.emptySubcomponent"
},
procedures: {
type: "fluid.emptySubcomponent"
},
nonVocabularies: {
type: "cspace.relatedRecordsList",
createOnEvent: "afterRender",
options: {
primary: "{sidebar}.options.primaryRecordType",
related: "nonVocabularies",
applier: "{sidebar}.options.recordApplier",
model: "{sidebar}.options.recordModel",
relationsElPath: "{sidebar}.options.relationsElPath"
}
}
},
selectors: {
relatedNonVocabularies: ".csc-related-nonVocabularies"
},
selectorsToIgnore: ["report", "numOfTerms", "mediaSnapshot", "termsUsed", "relatedCataloging", "relatedProcedures", "header", "togglable", "relatedNonVocabularies"],
model: {
categories: [{
expander: {
type: "fluid.deferredInvokeCall",
func: "cspace.util.modelBuilder",
args: {
callback: "cspace.sidebar.buildModel",
related: "nonVocabularies",
resolver: "{permissionsResolver}",
recordTypeManager: "{recordTypeManager}",
permission: "list"
}
}
}, undefined]
}
}
});
fluid.demands("cspace.sidebar.media", "cspace.sidebar", { fluid.demands("cspace.sidebar.media", "cspace.sidebar", {
container: "{arguments}.0", container: "{arguments}.0",
mergeAllOptions: [{ mergeAllOptions: [{
Expand Down Expand Up @@ -2300,6 +2404,19 @@ https://source.collectionspace.org/collection-space/LICENSE.txt
} }
} }
}); });
fluid.demands("tabsList", ["cspace.tabs", "concept"], {
container: "{tabs}.dom.tabsList",
options: {
model: {
tabs: {
primary: {
"name": "tablist-primary",
href: "#primaryTab"
}
}
}
}
});
fluid.demands("tabsList", ["cspace.tabs", "cspace.administration"], { fluid.demands("tabsList", ["cspace.tabs", "cspace.administration"], {
container: "{tabs}.dom.tabsList", container: "{tabs}.dom.tabsList",
options: { options: {
Expand Down

0 comments on commit 004bd05

Please sign in to comment.