define([
    'knockout',
    'jquery',
    'arches',
    'viewmodels/workflow',
    'templates/views/components/plugins/medios-digitales-workflow.htm',
    'views/components/workflows/final-step'
], function(ko, $, arches, Workflow, MediosDigitalesWorkflowTemplate) {
    return ko.components.register('medios-digitales-workflow', {
        viewModel: function(params) {
            this.componentName = 'medios-digitales-workflow';
            this.quitUrl = "/search";
            this.stepConfig = [
                {
                    title: 'Crear nuevo registro de información gráfica',
                    name: 'fijar-info-md-basica',  /* unique to workflow */
                    required: true,
                    workflowstepclass: 'crear-pcb-md-atajo',
                    informationboxdata: {
                        heading: 'Primero, establezca el título del medio que luego se adjuntará a uno o más recursos patrimoniales',
                        text: 'Este descriptor es relevante para poder relacionar fácilmente entre patrimonio e información gráfica',
                    },
                    layoutSections: [
                        {
                            componentConfigs: [
                                {
                                    componentName: 'default-card',
                                    uniqueInstanceName: 'pcb-md-lugar', /* unique to step */
                                    tilesManaged: 'one',
                                    parameters: {
                                        graphid: '6afc4e9e-727e-4152-8084-309267752650',
                                        nodegroupid: 'e668b73d-573e-11ee-a536-398209d3f1d1',
                                        hiddenNodes: "[]",
                                    },
                                },
                            ], 
                        },
                    ]
                },
                {
                    title: 'Carga de archivos',
                    name: 'fijar-alcance',  /* unique to workflow */
                    required: true,
                    informationboxdata: {
                        heading: 'Seleccione el archivo o archivos de Medios digitales que serán cargados al sistema',
                        text: 'Finalmente se creará el recurso de Información gráfica',
                    },
                    layoutSections: [
                        {
                            componentConfigs: [
                                {
                                    componentName: 'default-card',
                                    uniqueInstanceName: 'pcb-md-alcance', /* unique to step */
                                    tilesManaged: 'one',
                                    parameters: {
                                        graphid: '6afc4e9e-727e-4152-8084-309267752650',
                                        nodegroupid: '80776c17-45b9-11ee-9c4b-5373a7fb8bab',
                                        hiddenNodes: [],
                                        resourceid: "['fijar-info-md-basica']['pcb-md-lugar'][0]['resourceInstanceId']",
                                    },
                                },
                            ], 
                        },
                    ],
                },
                {
                    title: 'Finalizar',
                    name: 'add-resource-complete',  /* unique to workflow */
                    description: 'Finalizar la creación del registro patrimonial.',
                    layoutSections: [
                        {
                            componentConfigs: [
                                { 
                                    componentName: 'final-step',
                                    uniqueInstanceName: 'create-resource-final',
                                    tilesManaged: 'none',
                                    parameters: {
                                        resourceid: "['fijar-info-md-basica']['pcb-md-lugar'][0]['resourceInstanceId']",
                                    },
                                },
                            ], 
                        },
                    ],
                }
            ];
            Workflow.apply(this, [params]);
        },
        template: MediosDigitalesWorkflowTemplate,
    });
});