Skip to content

Commit

Permalink
Merge fdec478 into fc8c350
Browse files Browse the repository at this point in the history
  • Loading branch information
simonreed committed Dec 17, 2019
2 parents fc8c350 + fdec478 commit fd29a64
Show file tree
Hide file tree
Showing 35 changed files with 173 additions and 6 deletions.
Expand Up @@ -73,6 +73,12 @@ angular.module('archivist.build').controller(
console.log $scope.current
null

if !$scope.openFragmentXML?
$scope.openFragmentXML = () ->
console.log $scope.current
window.open("/instruments/" + $scope.current.instrument_id + "/question_items/" + $scope.current.id + ".xml")
null

if !$scope.change_panel?
$scope.change_panel = (obj) ->
localStorage.setItem 'sidebar_scroll', jQuery('.sidebar').scrollTop()
Expand Down
11 changes: 10 additions & 1 deletion app/assets/javascripts/templates/partials/build/editor.html
Expand Up @@ -16,6 +16,15 @@ <h1 class="page-header">
<notices></notices>

<div class="edit-cancel-save" data-ng-if="!hide_edit_buttons">
<button
type="button"
class="btn btn-default lockable"
data-ng-show="!editMode && (current && current.type == 'QuestionItem')"
data-toggle="modal"
data-ng-click="openFragmentXML()"
>
View Fragment XML
</button>
<button
type="button"
class="btn btn-danger lockable"
Expand Down Expand Up @@ -63,4 +72,4 @@ <h1 class="page-header">
<div data-ng-include="'partials/build/modals/new-question.html'"></div>
<div data-ng-include="'partials/build/modals/new-construct.html'"></div>
<div data-ng-include="'partials/build/modals/new-interviewee.html'"></div>
<div data-ng-include="'partials/build/modals/delete-confirm.html'"></div>
<div data-ng-include="'partials/build/modals/delete-confirm.html'"></div>
4 changes: 4 additions & 0 deletions app/controllers/question_items_controller.rb
Expand Up @@ -17,6 +17,10 @@ def index
super
end

def show
@question_item = collection.find(params[:id])
end

def collection
@instrument.question_items.includes(:rds_qs)
end
Expand Down
8 changes: 8 additions & 0 deletions app/views/categories/_fragment.xml.erb
@@ -0,0 +1,8 @@
<ddi:Fragment xmlns:r="ddi:reusable:3_2">
<Category isUniversallyUnique="true" versionDate="2016-08-31T11:22:22.6042781Z" isMissing="false" xmlns="ddi:logicalproduct:3_2">
<%= render 'exports/exploded_urn', object: category %>
<r:Label>
<r:Content xml:lang="en-GB"><%= category.label %></r:Content>
</r:Label>
</Category>
</ddi:Fragment>
14 changes: 14 additions & 0 deletions app/views/code_lists/_fragment.xml.erb
@@ -0,0 +1,14 @@
<ddi:Fragment>
<CodeList isUniversallyUnique="true" versionDate="<%= code_list.updated_at.iso8601 %>">
<%= render 'exports/exploded_urn', object: code_list %>
<r:Label><r:Content xml:lang="en-GB"><%= code_list.label %></r:Content></r:Label>
<% code_list.codes.each do | code | %>
<%= render 'codes/item', code: code %>
<% end %>
<r:ResponseCardinality minimumResponses="<%= response_domain.min_responses || 1 %>" maximumResponses="<%= response_domain.max_responses || 1 %>"/>
</CodeList>
</ddi:Fragment>

<% code_list.categories.each do | category | %>
<%= render "categories/fragment", category: category %>
<% end %>
9 changes: 9 additions & 0 deletions app/views/codes/_item.xml.erb
@@ -0,0 +1,9 @@
<Code isUniversallyUnique="true">
<%= render 'exports/exploded_urn', object: code %>
<% if code.category %>
<r:CategoryReference>
<%= render 'exports/exploded_urn', object: code.category %>
</r:CategoryReference>
<% end %>
<r:Value><%= code.value %></r:Value>
</Code>
5 changes: 5 additions & 0 deletions app/views/exports/_exploded_urn.xml.erb
@@ -0,0 +1,5 @@
<r:URN><%= object.urn %></r:URN>
<r:Agency><%= object.exploded_urn.agency %></r:Agency>
<r:ID><%= object.exploded_urn.id %></r:ID>
<r:Version><%= object.exploded_urn.version %></r:Version>
<r:TypeOfObject><%= object.exploded_urn.type_of_object %></r:TypeOfObject>
2 changes: 1 addition & 1 deletion app/views/question_items/show.json.jbuilder
Expand Up @@ -3,4 +3,4 @@ json.type @object.class.name
json.instruction @object.instruction.nil? ? '' : @object.instruction.text
json.rds @object.response_domains do |rd|
json.partial! 'response_domains/show', rd: rd
end
end
30 changes: 30 additions & 0 deletions app/views/question_items/show.xml.erb
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<ddi:FragmentInstance xmlns:r="ddi:reusable:3_2" xmlns:ddi="ddi:instance:3_2">
<ddi:Fragment>
<QuestionItem isUniversallyUnique="true" versionDate="<%= @question_item.updated_at.iso8601 %>">
<%= render 'exports/exploded_urn', object: @question_item %>
<QuestionItemName>
<r:String xml:lang="en-GB"><%= @question_item.label %></r:String>
</QuestionItemName>
<QuestionText audienceLanguage="en-GB">
<LiteralText>
<Text><%= @question_item.literal %></Text>
</LiteralText>
</QuestionText>
<% if @question_item.response_domains.count > 1 %>
<StructuredMixedResponseDomain>
<% @question_item.response_domains.each do | rd | %>
<ResponseDomainInMixed>
<%= render "response_domains/#{rd.model_name.param_key}", response_domain: rd %>
</ResponseDomainInMixed>
<% end %>
</StructuredMixedResponseDomain>
<% else %>
<%= render "response_domains/#{@question_item.response_domains.first.model_name.param_key}", response_domain: @question_item.response_domains.first %>
<% end %>
</QuestionItem>
</ddi:Fragment>
<% @question_item.response_domain_codes.each do | rd | %>
<%= render "code_lists/fragment", code_list: rd.code_list, response_domain: rd %>
<% end %>
</ddi:FragmentInstance>
6 changes: 6 additions & 0 deletions app/views/response_domains/_response_domain_code.xml.erb
@@ -0,0 +1,6 @@
<CodeDomain blankIsMissingValue="false">
<r:CodeListReference>
<%= render 'exports/exploded_urn', object: response_domain.code_list %>
</r:CodeListReference>
<r:ResponseCardinality minimumResponses="<%= response_domain.min_responses || 1 %>" maximumResponses="<%= response_domain.max_responses || 1 %>"/>
</CodeDomain>
3 changes: 3 additions & 0 deletions app/views/response_domains/_response_domain_datetime.xml.erb
@@ -0,0 +1,3 @@
<DateTimeDomain blankIsMissingValue="false">
<r:DateTypeCode>Date</r:DateTypeCode>
</DateTimeDomain>
10 changes: 10 additions & 0 deletions app/views/response_domains/_response_domain_numeric.xml.erb
@@ -0,0 +1,10 @@
<NumericDomain blankIsMissingValue="false">
<r:Label><%= response_domain.label %></r:Label>
<r:NumberRange>
<r:Low isInclusive="false"><%= response_domain.min %></r:Low>
<% if response_domain.max %>
<r:High isInclusive="false"><%= response_domain.max %></r:High>
<% end %>
</r:NumberRange>
<r:NumericTypeCode><%= response_domain.numeric_type %></r:NumericTypeCode>
</NumericDomain>
3 changes: 3 additions & 0 deletions app/views/response_domains/_response_domain_text.xml.erb
@@ -0,0 +1,3 @@
<TextDomain blankIsMissingValue="false" <% if response_domain.maxlen %>maxLength="<%= response_domain.maxlen %>"<%end%> minLength="0">
<r:Label><%= response_domain.label %></r:Label>
</TextDomain>
11 changes: 10 additions & 1 deletion lib/exportable.rb
Expand Up @@ -12,5 +12,14 @@ def urn(urn_prefix = nil, urn_type = nil)
urn_type = self.class::URN_TYPE if urn_type.nil?
[urn_prefix, urn_type, '%06d:1.0.0' % self.id].compact.join '-'
end

def exploded_urn
@exploded_urn ||= OpenStruct.new(
agency: self.instrument.agency,
version: '1.0.0',
id: [self.instrument.prefix, self.class::URN_TYPE, '%06d' % self.id].compact.join('-'),
type_of_object: self.class.name
)
end
end
end
end

Large diffs are not rendered by default.

Expand Up @@ -110453,6 +110453,13 @@ return /******/ (function(modules) { // webpackBootstrap
return null;
};
}
if ($scope.openFragmentXML == null) {
$scope.openFragmentXML = function() {
console.log($scope.current);
window.open("/instruments/" + $scope.current.instrument_id + "/question_items/" + $scope.current.id + ".xml");
return null;
};
}
if ($scope.change_panel == null) {
return $scope.change_panel = function(obj) {
localStorage.setItem('sidebar_scroll', jQuery('.sidebar').scrollTop());
Expand Down Expand Up @@ -111798,7 +111805,7 @@ angular.module("templates").run(["$templateCache", function($templateCache) {
// source: app/assets/javascripts/templates/partials/build/editor.html

angular.module("templates").run(["$templateCache", function($templateCache) {
$templateCache.put("partials/build/editor.html", '<div class="row">\n <div data-ng-if="sidebar_objs" data-ng-include="\'partials/build/sidebar.html\'" class="col-sm-4 col-md-3 sidebar sidebar-left" data-resume-scroll="sidebar"></div>\n\n <breadcrumb data-ng-if="!(current || details_bar)" class="col-md-offset-3 col-sm-offset-4 col-md-9 col-sm-8"></breadcrumb>\n\n <div\n data-ng-if="current || details_bar"\n data-ng-class="{\'col-sm-4 col-md-6\': sidebar_objs && editMode && details_bar, \'col-sm-offset-4 col-md-offset-3\': sidebar_objs, \'col-sm-8 col-md-9\': (sidebar_objs ? !editMode : editMode)}"\n class="main"\n >\n\n <h1 class="page-header">\n {{title}}\n </h1>\n\n <notices></notices>\n\n <div class="edit-cancel-save" data-ng-if="!hide_edit_buttons">\n <button\n type="button"\n class="btn btn-danger lockable"\n data-ng-show="!editMode"\n data-toggle="modal"\n data-target="#delete-confirm"\n >\n Delete\n </button>\n <button\n type="button"\n class="btn btn-primary lockable"\n data-ng-show="!editMode"\n data-ng-click="startEditMode()"\n >\n Edit\n </button>\n <button\n type="button"\n class="btn btn-default"\n data-ng-show="editMode"\n data-ng-click="cancel()"\n >\n Cancel\n </button>\n <button\n type="button"\n class="btn btn-primary"\n data-ng-show="editMode"\n data-ng-click="save()"\n >\n Save\n </button>\n </div>\n\n <breadcrumb></breadcrumb>\n\n <div data-ng-include="main_panel"></div>\n\n </div>\n\n <div data-ng-if="editMode && details_bar" data-ng-include="\'partials/build/details.html\'" class="col-sm-4 col-md-3 sidebar sidebar-right" data-resume-scroll="details"></div>\n</div>\n\n<div data-ng-include="\'partials/build/modals/new-question.html\'"></div>\n<div data-ng-include="\'partials/build/modals/new-construct.html\'"></div>\n<div data-ng-include="\'partials/build/modals/new-interviewee.html\'"></div>\n<div data-ng-include="\'partials/build/modals/delete-confirm.html\'"></div>')
$templateCache.put("partials/build/editor.html", '<div class="row">\n <div data-ng-if="sidebar_objs" data-ng-include="\'partials/build/sidebar.html\'" class="col-sm-4 col-md-3 sidebar sidebar-left" data-resume-scroll="sidebar"></div>\n\n <breadcrumb data-ng-if="!(current || details_bar)" class="col-md-offset-3 col-sm-offset-4 col-md-9 col-sm-8"></breadcrumb>\n\n <div\n data-ng-if="current || details_bar"\n data-ng-class="{\'col-sm-4 col-md-6\': sidebar_objs && editMode && details_bar, \'col-sm-offset-4 col-md-offset-3\': sidebar_objs, \'col-sm-8 col-md-9\': (sidebar_objs ? !editMode : editMode)}"\n class="main"\n >\n\n <h1 class="page-header">\n {{title}}\n </h1>\n\n <notices></notices>\n\n <div class="edit-cancel-save" data-ng-if="!hide_edit_buttons">\n <button\n type="button"\n class="btn btn-default lockable"\n data-ng-show="!editMode && (current && current.type == \'QuestionItem\')"\n data-toggle="modal"\n data-ng-click="openFragmentXML()"\n >\n View Fragment XML\n </button>\n <button\n type="button"\n class="btn btn-danger lockable"\n data-ng-show="!editMode"\n data-toggle="modal"\n data-target="#delete-confirm"\n >\n Delete\n </button>\n <button\n type="button"\n class="btn btn-primary lockable"\n data-ng-show="!editMode"\n data-ng-click="startEditMode()"\n >\n Edit\n </button>\n <button\n type="button"\n class="btn btn-default"\n data-ng-show="editMode"\n data-ng-click="cancel()"\n >\n Cancel\n </button>\n <button\n type="button"\n class="btn btn-primary"\n data-ng-show="editMode"\n data-ng-click="save()"\n >\n Save\n </button>\n </div>\n\n <breadcrumb></breadcrumb>\n\n <div data-ng-include="main_panel"></div>\n\n </div>\n\n <div data-ng-if="editMode && details_bar" data-ng-include="\'partials/build/details.html\'" class="col-sm-4 col-md-3 sidebar sidebar-right" data-resume-scroll="details"></div>\n</div>\n\n<div data-ng-include="\'partials/build/modals/new-question.html\'"></div>\n<div data-ng-include="\'partials/build/modals/new-construct.html\'"></div>\n<div data-ng-include="\'partials/build/modals/new-interviewee.html\'"></div>\n<div data-ng-include="\'partials/build/modals/delete-confirm.html\'"></div>')
}]);

// Angular Rails Template
Expand Down
Binary file not shown.
Expand Up @@ -1122,6 +1122,13 @@
return null;
};
}
if ($scope.openFragmentXML == null) {
$scope.openFragmentXML = function() {
console.log($scope.current);
window.open("/instruments/" + $scope.current.instrument_id + "/question_items/" + $scope.current.id + ".xml");
return null;
};
}
if ($scope.change_panel == null) {
return $scope.change_panel = function(obj) {
localStorage.setItem('sidebar_scroll', jQuery('.sidebar').scrollTop());
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Expand Up @@ -298,6 +298,13 @@
return null;
};
}
if ($scope.openFragmentXML == null) {
$scope.openFragmentXML = function() {
console.log($scope.current);
window.open("/instruments/" + $scope.current.instrument_id + "/question_items/" + $scope.current.id + ".xml");
return null;
};
}
if ($scope.change_panel == null) {
return $scope.change_panel = function(obj) {
localStorage.setItem('sidebar_scroll', jQuery('.sidebar').scrollTop());
Expand Down
Binary file not shown.
Expand Up @@ -75,6 +75,13 @@
return null;
};
}
if ($scope.openFragmentXML == null) {
$scope.openFragmentXML = function() {
console.log($scope.current);
window.open("/instruments/" + $scope.current.instrument_id + "/question_items/" + $scope.current.id + ".xml");
return null;
};
}
if ($scope.change_panel == null) {
return $scope.change_panel = function(obj) {
localStorage.setItem('sidebar_scroll', jQuery('.sidebar').scrollTop());
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Expand Up @@ -106,6 +106,13 @@
return null;
};
}
if ($scope.openFragmentXML == null) {
$scope.openFragmentXML = function() {
console.log($scope.current);
window.open("/instruments/" + $scope.current.instrument_id + "/question_items/" + $scope.current.id + ".xml");
return null;
};
}
if ($scope.change_panel == null) {
return $scope.change_panel = function(obj) {
localStorage.setItem('sidebar_scroll', jQuery('.sidebar').scrollTop());
Expand Down
Binary file not shown.
Binary file not shown.
Expand Up @@ -106,6 +106,13 @@
return null;
};
}
if ($scope.openFragmentXML == null) {
$scope.openFragmentXML = function() {
console.log($scope.current);
window.open("/instruments/" + $scope.current.instrument_id + "/question_items/" + $scope.current.id + ".xml");
return null;
};
}
if ($scope.change_panel == null) {
return $scope.change_panel = function(obj) {
localStorage.setItem('sidebar_scroll', jQuery('.sidebar').scrollTop());
Expand Down
Binary file not shown.
Binary file not shown.
Expand Up @@ -16,6 +16,15 @@ <h1 class="page-header">
<notices></notices>

<div class="edit-cancel-save" data-ng-if="!hide_edit_buttons">
<button
type="button"
class="btn btn-default lockable"
data-ng-show="!editMode && (current && current.type == 'QuestionItem')"
data-toggle="modal"
data-ng-click="openFragmentXML()"
>
View Fragment XML
</button>
<button
type="button"
class="btn btn-danger lockable"
Expand Down Expand Up @@ -63,4 +72,4 @@ <h1 class="page-header">
<div data-ng-include="'partials/build/modals/new-question.html'"></div>
<div data-ng-include="'partials/build/modals/new-construct.html'"></div>
<div data-ng-include="'partials/build/modals/new-interviewee.html'"></div>
<div data-ng-include="'partials/build/modals/delete-confirm.html'"></div>
<div data-ng-include="'partials/build/modals/delete-confirm.html'"></div>
Binary file not shown.

0 comments on commit fd29a64

Please sign in to comment.