Hi Adam and other developers,
Thanks for your recent post Adam and for Hannes for initiating a discussion
on modifying Arches, as I am now at this stage with our Eamena project, in
which we are mapping endangered cultural heritage sites across North Africa
and the Middle East. Arches is the perfect tool for the job so thanks also
to Dennis and the team for making this available. I've looked at your very
helpful github files Adam to begin the process of making some minor tweaks
to the HIP to suit our needs. To that effect I have been immersed in code
over the last few days getting to get a handle on which scripts to change.
I am starting by modifying Part 3 of the conditions form so that we have an
additional entity called disturbance_effect_type and we replace
disturbance_type with disturbance_cause_type. I had previously loaded
authority documents for these new nodes and have placed them on the
resource graph.
I thought an efficient way to do this would be to modify and duplicate the
disturbance_type node. I have done this in forms.py, condition.js and
condition.htm, but realise that there is a problem in that while
disturbance_cause_type and disturbance_effect_type appear on the form after
making the modifications, only one works properly in terms of dropdown
menus, whereas there is no dropdown menu in the other. I have narrowed the
problem down to the fact that both files have the same hashtag
'#disturbances-section' .(see below). My question is, where and how do I
generate new branchlists that they show #disturbances-effect-section' and
#disturbances-cause-section'?
This is an extract from my modified condition.js:
this.addBranchList(new BranchList({
el: this.$el.find('#disturbances-section')[0],
data: currentEditedAssessment,
dataKey: 'DISTURBANCE_CAUSE_TYPE.E55'
}));
this.addBranchList(new BranchList({
el: this.$el.find('#disturbances-section')[0],
data: currentEditedAssessment,
dataKey: 'DISTURBANCE_EFFECT_TYPE.E55'
}));
This is an extract from my modified forms.py:
for value in data['CONDITION_ASSESSMENT.E14']:
for node in value['nodes']:
if node['entitytypeid'] == 'CONDITION_ASSESSMENT.E14' and
node['entityid'] != '':
#remove the node
self.resource.filter(lambda entity: entity.entityid !=
node['entityid'])
self.update_nodes('CONDITION_TYPE.E55', data)
self.update_nodes('THREAT_TYPE.E55', data)
self.update_nodes('RECOMMENDATION_TYPE.E55', data)
self.update_nodes('DATE_CONDITION_ASSESSED.E49', data)
self.update_nodes('CONDITION_DESCRIPTION.E62', data)
self.update_nodes('DISTURBANCE_CAUSE_TYPE.E55', data)
self.update_nodes('DISTURBANCE_EFFECT_TYPE.E55', data)
self.update_nodes('CONDITION_IMAGE.E73', data)
self.resource.merge_at(self.baseentity, self.resource.entitytypeid)
self.resource.trim()
def load(self, lang):
self.data = {
'data': [],
'domains': {
'DISTURBANCE_CAUSE_TYPE.E55': Concept().get_e55_domain(
'DISTURBANCE_CAUSE_TYPE.E55'),
'DISTURBANCE_EFFECT_TYPE.E55': Concept().get_e55_domain(
'DISTURBANCE_EFFECT_TYPE.E55'),
'CONDITION_TYPE.E55' : Concept().get_e55_domain(
'CONDITION_TYPE.E55'),
'THREAT_TYPE.E55' : Concept().get_e55_domain(
'THREAT_TYPE.E55'),
'RECOMMENDATION_TYPE.E55' : Concept().get_e55_domain(
'RECOMMENDATION_TYPE.E55')
}
}
condition_assessment_entities =
self.resource.find_entities_by_type_id('CONDITION_ASSESSMENT.E14')
for entity in condition_assessment_entities:
self.data['data'].append({
'DISTURBANCE_CAUSE_TYPE.E55': {
'branch_lists': self.get_nodes(entity,
'DISTURBANCE_CAUSE_TYPE.E55')
},
'DISTURBANCE_EFFECT_TYPE.E55': {
'branch_lists': self.get_nodes(entity,
'DISTURBANCE_EFFECT_TYPE.E55')
},
'CONDITION_TYPE.E55': {
'branch_lists': self.get_nodes(entity,
'CONDITION_TYPE.E55')
},
'THREAT_TYPE.E55': {
'branch_lists': self.get_nodes(entity, 'THREAT_TYPE.E55'
)
},
'RECOMMENDATION_TYPE.E55': {
'branch_lists': self.get_nodes(entity,
'RECOMMENDATION_TYPE.E55')
},
'DATE_CONDITION_ASSESSED.E49': {
'branch_lists':
datetime_nodes_to_dates(self.get_nodes(entity,
'DATE_CONDITION_ASSESSED.E49'))
},
'CONDITION_DESCRIPTION.E62': {
'branch_lists': self.get_nodes(entity,
'CONDITION_DESCRIPTION.E62')
},
'CONDITION_IMAGE.E73': {
'branch_lists': self.get_nodes(entity,
'CONDITION_IMAGE.E73')
},
'CONDITION_ASSESSMENT.E14': {
'branch_lists': self.get_nodes(entity,
'CONDITION_ASSESSMENT.E14')
}
})
And these two extracts are of where I made changes to conditions.htm:
1. from c. line 125:
</dl>
<dl>
<dt class="arches-evaluation-header">{% trans
"Disturbances" %}</dt>
<dd data-bind="foreach:
$data['DISTURBANCE_CAUSE_TYPE.E55'].branch_lists" class=
"arches-evaluation-content">
<span data-bind="text: nodes[0].label"
></span><br>
</dd>
<dd class="arches-evaluation-content"
data-bind="ifnot:
$data['DISTURBANCE_CAUSE_TYPE.E55'].branch_lists.length > 0">
<span data-bind="html: 'no entries'"></span>
</dd>
</dl>
<dl>
<dt class="arches-evaluation-header">{% trans
"Disturbances" %}</dt>
<dd data-bind="foreach:
$data['DISTURBANCE_EFFECT_TYPE.E55'].branch_lists" class=
"arches-evaluation-content">
<span data-bind="text: nodes[0].label"
></span><br>
</dd>
<dd class="arches-evaluation-content"
data-bind="ifnot:
$data['DISTURBANCE_EFFECT_TYPE.E55'].branch_lists.length > 0">
<span data-bind="html: 'no entries'"></span>
</dd>
</dl>
2. from the Condition assessment wizard container:
<!-- Tab 3: Threats/Disturbances -->
<div class="tab-pane" id="tab3"
style="min-height: 630px;">
<br>
<h3 class="margin-bottom-5"
><strong>{% trans "Part 3" %}</strong> {% trans "Disturbances and Threats"
%}</h3>
<div class="alert
alert-info fade in">
<i class="fa-fw fa
fa-info"></i>
{% trans "Describe the
threats and disturbances present during your condition assessment." %}
</div>
<!-- Form for screens > XS
-->
<dl id="disturbances-section">
<!-- Title -->
<dt>
<h5 id=
"arches-names-form" class="section-headline">{% trans "Threats (possible
impacts)" %}</h5>
</dt>
<!-- Form -->
<dd class=
"arches-RDM-labels">
<div class="row">
<div class=
"col-xs-12">
<input style
="height: 36px; width:80%; padding-top: 2px;" class="select2
arches-select2-crud-form" data-bind="select2: {value:
getEditedNode('DISTURBANCE_EFFECT_TYPE.E55', 'value'), dataKey:
'DISTURBANCE_EFFECT_TYPE.E55'}"></input>
{% include
'views/components/add-item-button.htm' %}
</div>
<!-- User's
Selected Threats -->
<div class="row"
>
<div class=
"col-xs-12">
<div
class="margin-left-5">
<dl
class="margin-bottom-10">
<dd
class="margin-left-10 margin-top-5" style="display: none;" data-bind="visible:
true">
<div data-bind="visible: getBranchLists().length == 0" class=
"txt-color-blue">{% trans "No threats selected" %}</div>
<div data-bind="foreach: getBranchLists()">
<div class="arches-crud-record">
<a href="javascript:void(0)" class="arches-CRUD-child"
title="Delete
this name"><i data-bind="click: $parent.deleteItem.bind($parent)"
class="arches-CRUD-delete
fa fa-times-circle"></i></a>
<a href="javascript:void(0)" class="arches-CRUD-child
arches-CRUD-edit" data-bind="click: $parent.editItem.bind($parent)" title="{%
trans "Edit this type" %}"><span data-bind="text:
nodes.get('DISTURBANCE_EFFECT_TYPE.E55', 'label')" style=
"padding-right:2px;"></span></a>
</div>
</div>
</dd>
</dl>
</div>
</div>
</div>
</div>
</dd>
<!-- End Form -->
</dl>
<dl id=
"disturbances-section">
<!-- Title -->
<dt>
<h5 id=
"arches-names-form" class="section-headline">{% trans "Disturbances
(causes)" %}</h5>
</dt>
<!-- Form -->
<dd class=
"arches-RDM-labels">
<div class="row">
<div class=
"col-xs-12">
<input style
="height: 36px; width:80%; padding-top: 2px;" class="select2
arches-select2-crud-form" data-bind="select2: {value:
getEditedNode('DISTURBANCE_CAUSE_TYPE.E55', 'value'), dataKey:
'DISTURBANCE_CAUSE_TYPE.E55'}"></input>
{% include
'views/components/add-item-button.htm' %}
</div>
<!-- User's
Selected Disturbances -->
<div class="row"
>
<div class=
"col-xs-12">
<div
class="margin-left-5">
<dl
class="margin-bottom-10">
<dd
class="margin-left-10 margin-top-5" style="display: none;" data-bind="visible:
true">
<div data-bind="visible: getBranchLists().length == 0" class=
"txt-color-blue">{% trans "No causes selected" %}</div>
<div data-bind="foreach: getBranchLists()">
<div class="arches-crud-record">
<a href="javascript:void(0)" class="arches-CRUD-child"
title="Delete
this name"><i data-bind="click: $parent.deleteItem.bind($parent)"
class="arches-CRUD-delete
fa fa-times-circle"></i></a>
<a href="javascript:void(0)" class="arches-CRUD-child
arches-CRUD-edit" data-bind="click: $parent.editItem.bind($parent)" title="{%
trans "Edit this type" %}"><span data-bind="text:
nodes.get('DISTURBANCE_CAUSE_TYPE.E55', 'label')" style="padding-right:2px;"
></span></a>
</div>
</div>
</dd>
</dl>
</div>
</div>
</div>
</div>
</dd>
<!-- End Form -->
</dl>
</div>
Any help much appreciated!
Many thanks,
Richard
--
-- To post, send email to [email protected]. To unsubscribe, send
email to [email protected]. For more information,
visit https://groups.google.com/d/forum/archesproject?hl=en
---
You received this message because you are subscribed to the Google Groups
"Arches Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.