Document suggestion operation always called with init params

Hi,

This is a follow-up of this question, I am creating a new one because I'm trying a different approach. You should read it to have the first part of the story.

In short : I've got a document suggestion widget in the creation form of an “index” document which will summarize all the documents for a given project. This widget searches for documents by calling a custom operation. This custom operation has a “parentsIds” parameter which serves as a filter, so that you don't have to scroll through all documents on the Nuxeo instance, but only the ones that are related to the project.

At first I tried to pass the id of the “index” document being created so I could get its parent (that was the first question if you haven't read it), but the document does not have an id yet in the creation form, so I added another document suggestion widget to select folders in which the second widget is going to search.

This new widget has a valueChanged listener updating the params.

Here are the two widgets :

<nuxeo-document-suggestion  value=""
                            label="[[i18n('manufacturing_summary.documentsLocations')]]"
                            multiple="true"
                            min-chars="0"
                            role="widget"
                            placeholder="[[i18n('dublincoreEdit.directorySuggestion.placeholder')]]"
                            operation="SearchHWProjects"
                            on-value-changed="_documentsLocationsUpdated"
></nuxeo-document-suggestion>

<nuxeo-document-suggestion  id="documentSuggestionWidget"
                            value="{{document.properties.mfs:documents}}"
                            label="[[i18n('manufacturing_summary.documents')]]"
                            multiple="true"
                            min-chars="0"
                            role="widget"
                            placeholder="[[i18n('dublincoreEdit.directorySuggestion.placeholder')]]"
                            operation="SearchDocuments"
                            params="[[params]]"
></nuxeo-document-suggestion>

and the corresponding script :

<script>
    Polymer({
        is: 'nuxeo-manufacturing_summary-create-layout',
        behaviors: [Nuxeo.LayoutBehavior],
        properties: {
            /**
             * @doctype manufacturing_summary
             */
            document: Object,

            params: {
                type: Object,
                value: {'doctype': 'hwp_document', 'parentsIds': ''},
            }
        },

        _documentsLocationsUpdated: function (event) {
            if (event && event.detail && event.detail.value) {
                this.params.parentsIds = JSON.stringify(event.detail.value);
            }
        },
    });
</script>

Everything is working fine, the Polymer and the widget's params properties are updated when a parent is selected in the “filter” widget, BUT the operation is always called with the first specified parameters, i.e. the hard-coded value in the Polymer properties, no matter how many times it is modified… Weird right ?

Any help welcome ! Have a good day

0 votes

0 answers

1054 views

ANSWER