define([
    'knockout',
    'jquery',
    'arches',
    'viewmodels/workflow',
    'templates/views/components/plugins/actores-workflow.htm',
    'views/components/workflows/final-step'
], function(ko, $, arches, Workflow, ActoresWorkflowTemplate) {
    return ko.components.register('actores-workflow', {
        viewModel: function(params) {
            this.componentName = 'actores-workflow';
            this.quitUrl = "/search";
            this.stepConfig = [
                {
                    title: 'Crear nuevo registro de Organizaciones y personas',
                    name: 'fijar-info-op-basica',  /* unique to workflow */
                    required: true,
                    workflowstepclass: 'crear-pcb-op-atajo',
                    informationboxdata: {
                        heading: 'Primero, establezca el el nombre de la persona u organización, el tipo de actor y su cargo',
                        text: 'Este descriptor es relevante para poder relacionar fácilmente entre patrimonio e Organizaciones y personas',
                    },
                    layoutSections: [
                        {
                            componentConfigs: [
                                {
                                    componentName: 'default-card',
                                    uniqueInstanceName: 'pcb-op-lugar', /* unique to step */
                                    tilesManaged: 'one',
                                    parameters: {
                                        graphid: '72420da0-db59-4048-aea2-03b0bc5cdcdf',
                                        nodegroupid: 'fbf79696-55bc-11ee-b054-153ea24ee6f2',
                                        hiddenNodes: "[]",
                                    },
                                },
                            ], 
                        },
                    ]
                },
                {
                    title: 'Carga de archivos',
                    name: 'fijar-alcance',  /* unique to workflow */
                    required: false,
                    informationboxdata: {
                        heading: 'Seleccione el archivo o archivos de Medios digitales que serán cargados al sistema (Opcional)',
                        text: 'Finalmente se creará el recurso de Organinzación o persona',
                    },
                    layoutSections: [
                        {
                            componentConfigs: [
                                {
                                    componentName: 'default-card',
                                    uniqueInstanceName: 'pcb-op-alcance', /* unique to step */
                                    tilesManaged: 'one',
                                    parameters: {
                                        graphid: '72420da0-db59-4048-aea2-03b0bc5cdcdf',
                                        nodegroupid: 'ecf58b86-d65d-11ee-95bc-e96777d12b77',
                                        hiddenNodes: [],
                                        resourceid: "['fijar-info-op-basica']['pcb-op-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-op-basica']['pcb-op-lugar'][0]['resourceInstanceId']",
                                    },
                                },
                            ], 
                        },
                    ],
                }
            ];
            Workflow.apply(this, [params]);
        },
        template: ActoresWorkflowTemplate,
    });
});
