Skip to content

Commit

Permalink
Merge pull request #6303 from deutschebank/db-contrib/waltz-6301-phys…
Browse files Browse the repository at this point in the history
…-flow-spec-atrribute-editor

Db contrib/waltz 6301 phys flow spec atrribute editor
davidwatkins73 authored Nov 15, 2022
2 parents a3698b6 + 235e851 commit f5978d4
Showing 9 changed files with 235 additions and 12,375 deletions.
Original file line number Diff line number Diff line change
@@ -248,7 +248,8 @@ public static String sanitizeCharacters(String str) {
.replaceAll("​", "")
.replaceAll("“", "\"")
.replaceAll("”", "\"")
.replaceAll("’", "'");
.replaceAll("’", "'")
.replaceAll(" ", " ");
}
}

Original file line number Diff line number Diff line change
@@ -31,8 +31,7 @@
<waltz-editable-enum initial-val="$ctrl.physicalFlow.criticality"
enum-kind="physicalFlowCriticality"
on-save="$ctrl.onSaveCriticality"
read-only="$ctrl.physicalFlow.isReadOnly"
edit-role="LOGICAL_DATA_FLOW_EDITOR">
read-only="$ctrl.physicalFlow.isReadOnly">
</waltz-editable-enum>
</td>
</tr>
@@ -44,8 +43,7 @@
<waltz-editable-enum initial-val="$ctrl.physicalFlow.transport"
enum-kind="TransportKind"
on-save="$ctrl.onSaveTransport"
read-only="$ctrl.physicalFlow.isReadOnly"
edit-role="LOGICAL_DATA_FLOW_EDITOR">
read-only="$ctrl.physicalFlow.isReadOnly">
</waltz-editable-enum>
</td>
</tr>
@@ -57,8 +55,7 @@
<waltz-editable-enum initial-val="$ctrl.physicalFlow.frequency"
enum-kind="Frequency"
on-save="$ctrl.onSaveFrequency"
read-only="$ctrl.physicalFlow.isReadOnly"
edit-role="LOGICAL_DATA_FLOW_EDITOR">
read-only="$ctrl.physicalFlow.isReadOnly">
</waltz-editable-enum>
</td>
</tr>
Original file line number Diff line number Diff line change
@@ -16,67 +16,142 @@
~
-->

<waltz-sub-section name="Detail"
show-border="false">
<waltz-sub-section name="Detail">
<content>
<div class="waltz-sub-section-content">
<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Owner:
</div>
<div class="col-sm-8">
<waltz-entity-link entity-ref="$ctrl.specification.owningEntity">
</waltz-entity-link>

<div ng-if="$ctrl.visibility.overviewEditor">

<div class="waltz-sub-section-content">
<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Owner:
</div>
<div class="col-sm-8">
<waltz-entity-link entity-ref="$ctrl.specification.owningEntity">
</waltz-entity-link>
</div>
</div>
</div>


<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Format:
<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Format:
</div>
<div class="col-sm-4">
<waltz-editable-enum initial-val="$ctrl.specification.format"
enum-kind="DataFormatKind"
on-save="$ctrl.onSaveFormat">
</waltz-editable-enum>
</div>
</div>
<div class="col-sm-4">
<waltz-editable-enum initial-val="$ctrl.specification.format"
enum-kind="DataFormatKind"
on-save="$ctrl.onSaveFormat"
edit-role="LOGICAL_DATA_FLOW_EDITOR">
</waltz-editable-enum>


<div class="row">
<div class="col-sm-4 waltz-display-field-label">
External Id:
</div>
<div class="col-sm-8">
<span ng-bind="$ctrl.specification.externalId"></span>
</div>
</div>
</div>


<div class="row">
<div class="col-sm-4 waltz-display-field-label">
External Id:
<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Description:
</div>
<div class="col-sm-8">
<waltz-editable-field on-save="$ctrl.onSaveDescription"
field-type="textarea"
empty-label="Not provided"
initial-val="$ctrl.specification.description">
</waltz-editable-field>
</div>
</div>
<div class="col-sm-8">
<span ng-bind="$ctrl.specification.externalId"></span>

<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Provenance:
</div>
<div class="col-sm-8">
<span ng-bind="$ctrl.specification.provenance"></span>
</div>
</div>
</div>

</div>


<div ng-if="!$ctrl.visibility.overviewEditor">

<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Description:
<div class="waltz-sub-section-content">
<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Owner:
</div>
<div class="col-sm-8">
<waltz-entity-link entity-ref="$ctrl.specification.owningEntity">
</waltz-entity-link>
</div>
</div>
<div class="col-sm-8">
<waltz-editable-field on-save="$ctrl.onSaveDescription"
field-type="textarea"
empty-label="Not provided"
initial-val="$ctrl.specification.description">
</waltz-editable-field>


<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Format:
</div>
<div class="col-sm-4">
<span ng-bind="$ctrl.specification.format"></span>
</div>
</div>
</div>

<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Provenance:

<div class="row">
<div class="col-sm-4 waltz-display-field-label">
External Id:
</div>
<div class="col-sm-8">
<span ng-bind="$ctrl.specification.externalId"></span>
</div>
</div>
<div class="col-sm-8">
<span ng-bind="$ctrl.specification.provenance"></span>


<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Description:
</div>
<div class="col-sm-8">
<span ng-bind="$ctrl.specification.description"></span>
</div>
</div>

<div class="row">
<div class="col-sm-4 waltz-display-field-label">
Provenance:
</div>
<div class="col-sm-8">
<span ng-bind="$ctrl.specification.provenance"></span>
</div>
</div>
</div>
</div>

<div class="waltz-sub-section-controls">
<span ng-if="$ctrl.canEdit">

<a ng-click="$ctrl.visibility.overviewEditor = true"
ng-if="!$ctrl.visibility.overviewEditor"
class="clickable">
Edit
</a>

<a ng-click="$ctrl.visibility.overviewEditor = false"
ng-if="$ctrl.visibility.overviewEditor"
class="clickable">
Done
</a>
</span>
</div>

</content>
</waltz-sub-section>
Original file line number Diff line number Diff line change
@@ -16,6 +16,9 @@
*
*/
import template from './physical-specification-overview.html';
import {CORE_API} from "../../../common/services/core-api-utils";
import _ from "lodash";
import {initialiseData} from "../../../common";


const bindings = {
@@ -27,8 +30,35 @@ const bindings = {
};


const initialState = {
specification: null,
visibility: {
overviewEditor: false
}
};

function controller(serviceBroker) {

const vm = initialiseData(this, initialState);

vm.$onInit = () => {
serviceBroker.loadViewData(CORE_API.PhysicalSpecificationStore.findPermissionsForSpec, [vm.specification.id])
.then(r => vm.canEdit = _.some(
r.data,
d => _.includes(["ADD", "UPDATE", "REMOVE"], d)));
};

}


controller.$inject = [
"ServiceBroker"
];


const component = {
bindings,
controller,
template
};

Original file line number Diff line number Diff line change
@@ -51,18 +51,22 @@ export function store($http, baseApiUrl) {
.then(r => r.data);


const findPermissionsForSpec = (specificationId) => $http
.get(`${base}/id/${specificationId}/permissions`)
.then(r => r.data);

const search = (terms) => $http
.post(`${base}/search`, terms)
.then(r => r.data);


const deleteById = (specificationId) => $http
.delete(`${base}/${specificationId}`)
.then(r => r.data);
.delete(`${base}/${specificationId}`)
.then(r => r.data);

const updateAttribute = (flowId, command) => $http
.post(`${base}/id/${flowId}/attribute`, command)
.then(r => r.data);
.post(`${base}/id/${flowId}/attribute`, command)
.then(r => r.data);


return {
@@ -72,7 +76,8 @@ export function store($http, baseApiUrl) {
getById,
deleteById,
search,
updateAttribute
updateAttribute,
findPermissionsForSpec
};
}

@@ -121,5 +126,10 @@ export const PhysicalSpecificationStore_API = {
serviceName,
serviceFnName: "updateAttribute",
description: "executes updateAttribute"
},
findPermissionsForSpec: {
serviceName,
serviceFnName: "findPermissionsForSpec",
description: "returns permissions for spec"
}
};
13 changes: 12 additions & 1 deletion waltz-ng/client/svelte-stores/physical-spec-store.js
Original file line number Diff line number Diff line change
@@ -26,8 +26,19 @@ export function mkPhysicalSpecStore() {
};


const findPermissions = (id, force = false) => {
return remote
.fetchViewList(
"GET",
`api/physical-specification/id/${id}`,
null,
{force});
};


return {
findBySelector
findBySelector,
findPermissions
};
}

Loading

0 comments on commit f5978d4

Please sign in to comment.