Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum.composite.form
Dieses Element stellt ein Fenster zum Wählen von Objekten in agorum core dar. Durch das Wählen der Objekte stellen Sie eine Liste zusammen, die Sie etwa für einen Workflow verwenden können. Die gewählten Objekte fügen Sie über eine Ordnerstruktur, eine Suche oder per Drag-and-drop in das Auswahlfenster ein.
agorum.composite.form.element.objects erbt alle grundlegenden Eigenschaften von element.
Einen Workflow zu diesem Element finden Sie unter Workflow „Attachments über ein UI hinzufügen und entfernen“.
let aguila = require('common/aguila'); let form = aguila.create({ type: 'agorum.composite.form.basic', width: 800, height: 600, labelPosition: 'top', elements: [ { type: 'agorum.composite.form.element.objects', name: 'objects', height: 200, listConfig: 'Standard', allowedNames: [ '\\.pdf$', '\\.doc$', '\\.docx$' ], // allowMove: true, // listReadOnly: true, // hideRemove: true, /* texts: { selectSearch: 'Ordner suchen', selectFolder: 'Ordner auswählen', removeSelection: 'Ordner löschen', upload: 'Lokale Dateien hochladen' }, */ /* icons: { selectSearch: 'aguila-icon https', // selectFolder: 'aguila-icon https', // removeSelection: 'aguila-icon https', // upload: 'aguila-icon file_upload' }, */ searchConfig: { additionalBaseQuery: 'isfolder:true', filterCollapsed: true, settingName: 'inbox-all', detailsWidget: { type: 'agorum.composite.details', width: 600 }, //pickerWidth: 800, //pickerHeight: 600 }, folderConfig: { selectors: [ '[isFolder=true]', '[name=Demo]' ], startFolder: '/agorum/roi/workspace', // baseFolder: '/', //pickerWidth: 500, //pickerHeight: 400 }, uploadConfig: { browse: true, // Schaltfläche für lokalen Dateiupload anzeigen drop: true // Drag-and-drop auf die Liste ermöglichen } } ] }); form;
Alle Parameter in element gelten. Zusätzlich gelten die folgenden Parameter.
Legt das Aussehen des Auswahlfensters fest.
Sie können das zu verwendende Design, die Höhe, Breite und die Labelposition angeben.
Beispiel
let form = aguila.create({ type: 'agorum.composite.form.basic', width: 800, height: 600, labelPosition: 'top',
Definiert, dass es sich um ein Element handelt.
Sie können die Anzeige des Fensters mit name und height anpassen.
Beispiel
type: 'agorum.composite.form.element.objects', name: 'objects', height: 200,
Wert | Beschreibung |
---|---|
true | Drag-and-drop und Entfernen sind NICHT möglich. |
false | Drag-and-drop und Entfernen sind möglich. |
Wert | Beschreibung |
---|---|
true | Blendet die Schaltfläche Löschen ein. |
false | Blendet die Schaltfläche Löschen aus. |
Wert | Beschreibung |
---|---|
true | Blendet zwei Schaltflächen ein, mit denen der Benutzer die markierten Objekte innerhalb der Liste nach oben oder unten verschieben kann. |
false | Blendet die Schaltflächen aus. |
Definiert optional die Breite und Höhe des Suchfensters oder der Ordnerübersicht, wenn ein Benutzer auf die Schaltfläche zum Wählen klickt.
Beispiel
pickerWidth = 800; pickerHeight = 600;
Definiert reguläre Ausdrücke erlaubter Namen als String.
Beispiel
allowedNames: [ '\\.pdf$', '\\.doc$', '\\.docx$' ],
Passt optional den Text an, der erscheint, sobald die Maus über eine der folgenden Schaltflächen fährt:
Beispiel
texts: { selectSearch: 'Ordner suchen', selectFolder: 'Ordner auswählen', removeSelection: 'Ordner löschen', upload: 'Lokale Dateien hochladen'
Passt optional die Symbole der folgenden Schaltflächen an:
Zum Anpassen der Symbole in der Oberfläche siehe Symbole anpassen.
Beispiel
icons: { selectSearch: 'aguila-icon https', selectFolder: 'aguila-icon add', removeSelection: 'aguila-icon https', upload: 'aguila-icon file_upload'
Definiert optional die Parameter für die Suche nach Elementen, die ein Benutzer zur Liste hinzufügen kann.
Zu searchConfig existieren weitere Parameter:
additionalBaseQuery
Wert | Beschreibung |
---|---|
isfolder:true | Der Benutzer darf nur nach der angegebenen Objektart suchen. |
isfolder:false | Der Benutzer darf nach allem außer der angegebenen Objektart suchen. |
filterCollapsed
Wert | Beschreibung |
---|---|
true | Blendet den Filter auf der linken Seite ein. |
false | Blendet den Filter auf der linken Seite aus. |
settingName
Definiert, welcher Filter bei der Suche zuerst erscheint.
Der zuletzt verwendete Filter des Benutzers erscheint als Erstes, wenn Sie nichts angeben.
Tipp: Verwenden Sie die Funktion Search query builder in der Kopfleiste, um den settingName Ihrer agorum core information center-Filterkonfigurationen zu erhalten.
Beispiel:
settingName: 'inbox-all',
detailsWidget
Passt die Detailansicht auf der rechten Seite an.
detailsWidget: { type: 'agorum.composite.details', // Typ der Detailansicht width: 600 // Breite der Detailansicht },
pickerWidth, pickerHeight
Definiert optional die Breite und Höhe des Suchfensters oder der Ordnerübersicht, wenn ein Benutzer auf die Schaltfläche zum Wählen klickt.
Beispiel:
pickerWidth = 800; pickerHeight = 600;
Definiert die Parameter für die Auswahl einer Datei aus der Ordner- / Baum-Auswahl.
.
Hinweise:
Der zuletzt gewählte Name gilt (aus der Suche), wenn Sie bei searchParameters keinen settingName mitgeben.
Definieren Sie entweder settingName, etwa mit ac_all, oder geben Sie eine eigene Konfiguration per settings mit (siehe agorum.composite.search.filterResultDetails).
Zu folderConfig existieren weitere Parameter:
pickerWidth, pickerHeight
Definiert optional die Breite und Höhe des Suchfensters oder der Ordnerübersicht, wenn ein Benutzer auf die Schaltfläche zum Wählen klickt.
Beispiel:
pickerWidth = 800; pickerHeight = 600;
selectors
Definiert Selektoren für die Prüfung, ob das gewählte Objekt mit den Selektoren übereinstimmt.
Die Schaltfläche Ok zur Übernahme des Objekts aktiviert sich erst, wenn einer der Selektoren greift.
Beispiel:
selectors: [ '[isFolder=true]', '[name=Demo]' ],
startFolder
Definiert, in welchem Ordner Sie sich befinden, wenn sich der Picker öffnet.
Beispiel:
startFolder: '/agorum/roi/workspace',
baseFolder (optional)
Definiert den Basisordner, ab dem der Baum beginnt.
Hinweise:
Das System mischt den baseFolder mit der grundlegenden Suchkonfiguration. D. h. die Suchkonfiguration muss so eingestellt sein, dass der in baseFolder angegebene Startordner in der Suchkonfiguration enthalten ist
Der baseFolder muss innerhalb des angegebenen Bereichs des startFolders liegen, wenn Sie einen startFolder angegeben haben.
Beispiel:
baseFolder = 'home:MyFiles';
Wert | Beschreibung |
---|---|
browse: true | Blendet die Schaltfläche zum Hochladen von Dateien ein. |
browse: false (Standard) | Blendet die Schaltfläche zum Hochladen von Dateien aus. |
drop: true | Ermöglicht Drag-and-drop auf die Liste. |
drop: false | Ermöglicht KEIN Drag-and-drop auf die Liste. |
Definiert Selektoren für die Prüfung, ob das gewählte Objekt mit den Selektoren übereinstimmt.
Die Schaltfläche Ok zur Übernahme des Objekts aktiviert sich erst, wenn einer der Selektoren greift.
Beispiel
selectors: [ '[isFolder=true]', '[name=Demo]' ],
Alle Events in Grundlegende Eigenschaften gelten. Zusätzlich gilt das folgende Event.
Löst aus, wenn ein Benutzer ein oder mehrere Objekte in der Liste wählt.
Sie erhalten deren UUID in einem Array zurück.
Beispiel 1
Dieses Skript erzeugt ein einfaches Widget mit einer Datei-Liste des persönlichen Verzeichnisses des aktuellen Benutzers und gibt es zurück.
let aguila = require('common/aguila'); let objects = require('common/objects'); let folder = objects.find('home:/'); let attachments = aguila.create({ name: 'attachments', type: 'agorum.composite.form.element.objects', id: folder.ID, }); attachments;
Beispiel 2
Dieses Skript reagiert auf alle Events einer Explorer-Liste und protokolliert es in der Konsole.
let aguila = require('common/aguila'); let objects = require('common/objects'); let folder = objects.find('home:/'); let attachments = aguila.create({ name: 'attachments', type: 'agorum.composite.form.element.objects', id: folder.ID, pageSize: 10, }); /** * Listen to all events and print the values to the console */ attachments.on('valueChanged', value => { console.log('Valued Changed', value); }); attachments.on('configChanged', configName => { console.log('Config Changed', configName); }); attachments.on('groupChanged', group => { console.log('Group Changed', group); }); attachments.on('idChanged', id => { console.log('ID Changed', id); }); attachments.on('idsChanged', ids => { console.log('IDs Changed', ids); }); attachments.on('pageChanged', page => { console.log('Page Changed', page); }); attachments.on('pageSizeChanged', pageSize => { console.log('Page Size Changed', pageSize); }); attachments.on('queryChanged', queryString => { console.log('Query Changed', queryString); }); attachments.on('sortChanged', sort => { console.log('Sort Changed', sort); }); attachments.on('selectionChanged', selection => { console.log('Selection Changed', selection); }); attachments;