Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Στο Microsoft Fabric, μπορείτε να χρησιμοποιήσετε πολλαπλές εργασίες για να ανοίξετε πολλαπλά στοιχεία ταυτόχρονα. Όταν ανοίγετε ένα στοιχείο, μια καρτέλα καρφιτσώνεται στο αριστερό τμήμα παραθύρου. Από προεπιλογή, το Fabric υποστηρίζει το άνοιγμα ενός στοιχείου κάθε φορά. Ένα σύνολο συμβάντων κύκλου ζωής ενεργοποιείται όταν η καρτέλα στοιχείου προετοιμάζεται, απενεργοποιείται και καταστρέφεται χωρίς καμία εργασία που απαιτείται από οποιονδήποτε φόρτο εργασίας.
Αλλαγή προεπιλεγμένων ιδιοτήτων για πολλαπλές εργασίες
Καθορίστε την editorTab ενότητα μέσα στη διακήρυξη στοιχείου για την επεξεργασία ιδιοτήτων καρτέλας:
"editorTab": {
}
Ενεργοποίηση ανοίγματος περισσότερων από ένα στοιχείων ταυτόχρονα
Ορίστε την maxInstanceCount ιδιότητα και αντιστοιχίστε τον αριθμό των στοιχείων που θέλετε να ανοίξετε ταυτόχρονα (έως 20 στοιχεία):
"editorTab": {
"maxInstanceCount": "20"
}
Προσαρμογή ενεργειών και δεικτών χειρισμού
Όταν αποφασίσετε να υλοποιήσετε ενέργειες και χειρισμούς καρτελών (ή μέρος τους), πρέπει να ορίσετε μια ιδιότητα στη διακήρυξη προσκηνίων του στοιχείου στην editorTab ενότητα. Αυτή η ιδιότητα παρακολουθεί αυτές τις ενέργειες στον δικό της κώδικα, χειρίζεται τις ενέργειες ανάλογα και επιστρέφει τα αποτελέσματα. Εάν δεν ορίσετε καμία από τις ενέργειες (ή μέρος αυτών), ο χειρισμός των προεπιλεγμένων ενεργειών γίνεται αυτόματα.
Ορισμός ιδιοτήτων για ενέργειες καρτέλας στην editorTab ενότητα:
"editorTab": {
"onInit": "item.tab.onInit",
"onDeactivate": "item.tab.onDeactivate",
"canDeactivate": "item.tab.canDeactivate",
"canDestroy": "item.tab.canDestroy",
"onDestroy": "item.tab.onDestroy",
"onDelete": "item.tab.onDelete"
}
Όταν καταχωρείτε την ενέργεια φόρτου εργασίας, fabric αναμένει η ενέργεια να επιστρέψει τα δεδομένα σε μια συγκεκριμένη μορφή, έτσι ώστε Fabric μπορεί να διαβάσει ή να εμφανίσει αυτές τις πληροφορίες:
/*An OnInit event is triggered when the item is opened for the first
time. This event contains the ID of the tab being initialized. Based on
this tab ID, the handler needs to be able to return the display name
or metadata.*/
onInit: Action<never>;
/*A CanDeactivate event is triggered when the user moves away from the tab.
This event contains the ID of the tab being deactivated. The
CanDeactivate handler should return a Boolean value that indicates whether
the item tab can be deactivated. For an ideal multitasking experience,
the handler should always return True.*/
canDeactivate: Action<never>;
/*An OnDeactivate event is triggered immediately after CanDeactivate
returns True. This event contains the ID of the tab being deactivated.
The OnDeactivate handler should cache unsaved item changes and
the UI state.
The next time the user goes back to the item, the item needs
to be able to recover its data and UI state. The actual deactivation begins
only when this handler returns.*/
onDeactivate: Action<never>;
/*A CanDestroy event is triggered after the close button is selected,
before the item tab is closed. The event contains the ID of the tab
being destroyed and also an allowInteraction parameter.
The CanDeactivate handler should return a Boolean value that indicates
whether the given item tab can be destroyed.
If allowInteraction equals False, the implementation returns True
if there are no dirty changes, and False otherwise.
If allowInteraction equals True, a pop-up window can be used to ask
for the user's opinion. It returns True if the user saves or discards
dirty changes, and False if the user cancels the pop-up window.
The OnDestroy handler gives the item the opportunity to do some
cleanup work.*/
canDestroy: Action<never>;
/*An OnDestroy event is triggered when the tab is closed. The event
contains the ID of the tab being destroyed. The OnDestroy handler gives
the item the opportunity to do some cleanup work.*/
onDestroy: Action<never>;
/*An OnDelete event is triggered when the opened item is deleted.
The event contains the ID of the item being deleted, just to tell
the extension that the current item is deleted.*/
onDelete: Action<never>;
Παράδειγμα χειρισμού των ενεργειών καρτέλας
Αυτό το παράδειγμα παρακολουθεί για όλες τις ενέργειες που σχετίζονται με item.tab το και χειρίζεται αντίστοιχα κάθε μία:
workloadClient.action.onAction(async function ({ action, data }) {
switch (action) {
case 'item.tab.onInit':
const { id } = data as ItemTabActionContext;
try{
const getItemResult = await callItemGet(
id,
workloadClient
);
const item = convertGetItemResultToWorkloadItem<ItemPayload(getItemResult);
return {title: item.displayName};
} catch (error) {
console.error(
`Error loading the Item (object ID:${id})`,
error
);
return {};
}
case 'item.tab.canDeactivate':
return { canDeactivate: true };
case 'item.tab.onDeactivate':
return {};
case 'item.tab.canDestroy':
return { canDestroy: true };
case 'item.tab.onDestroy':
return {};
case 'item.tab.onDelete':
return {};
default:
throw new Error('Unknown action received');
}
});
-
item.tab.onInit: Λαμβάνει δεδομένα στοιχείων χρησιμοποιώντας το αναγνωριστικό και επιστρέφει τον τίτλο του στοιχείου. -
item.tab.canDeactivate: Επιστρέφει{ canDeactivate: true }, το οποίο επιτρέπει την εύκολη εναλλαγή μεταξύ καρτελών. -
item.tab.onDeactivate, ,item.tab.onDestroyitem.tab.onDelete: Επιστρέφει ένα κενό αντικείμενο για αυτές τις ενέργειες. -
item.tab.canDestroy: Επιστρέφει{ canDestroy: true }.
Σχετικό περιεχόμενο
Για ένα πλήρες παράδειγμα χειρισμού των ενεργειών καρτέλας, ανατρέξτε index.ui.ts στο δείγμα αποθετηρίου δεδομένων. Αναζητήστε ενέργειες που ξεκινούν με item.tab.