Gå til innhold

Dokumenter og SharePoint

Denne siden dekker delte dokumentkomponenter: lokal CRM-dokumenthåndtering via app-document-card, SharePoint-filutforsker via app-sharepoint-documents og SharePoint-tilkoblingswizard via app-sharepoint-picker.


Feature-tabell

Komponent Selector Hovedfunksjoner Import
DocumentCardComponent app-document-card Liste, opplasting, drag/drop, mapper, nedlasting, sletting Standalone
SharePointDocumentsComponent app-sharepoint-documents Navigasjon, søk, «Ny»-meny (mappe, Office-dokument, filopplasting), «Mer»-meny (oppdater, åpne i SharePoint, koble til/fra), dra-og-slipp Standalone
SharePointPickerComponent app-sharepoint-picker Modalwizard for site, drive og mappe Standalone modal

Document-card

Del Sti
Komponent ui/ePortal.ui/src/app/shared/document-card/document-card.component.ts

app-document-card brukes når et fagobjekt skal ha dokumenter lagret i ePortal/CRM-dokumentflyten.

Brukseksempel

<app-document-card
  entityType="Project"
  [entityId]="projectId"
  translationPrefix="Project.Documents"
  [multiple]="true"
  [embedded]="false">
</app-document-card>

API

Type Navn Default Beskrivelse
Input entityType påkrevd Objekttype dokumentene kobles til.
Input entityId påkrevd Objekt-id.
Input translationPrefix General Prefix for toast-/tekstnøkler.
Input multiple false Tillater flere dokumenter.
Input embedded false Brukes når kortet ligger inne i annen layout.
Input readOnly false Skjuler alle muterende kontroller (opplasting, slipp-sone, mappe-opprett/-endre/-slett, dokumentsletting); liste, mappenavigasjon og nedlasting beholdes. Brukes bl.a. av møteagendaen (entityType="MeetingPoint") for låste møter. Backend er fortsatt håndhevingspunktet.

SharePoint-documents

Del Sti
Komponent ui/ePortal.ui/src/app/components/shared/sharepoint-documents/sharepoint-documents.component.ts

app-sharepoint-documents viser innhold fra en SharePoint-tilkobling og tilbyr handlinger for filer og mapper.

Verktøyraden er én rad: breadcrumb til venstre, «Ny»-meny (mørk, med tekstede valg for ny mappe, Word/Excel/PowerPoint-dokument og filopplasting) og «Mer»-meny (oppdater, åpne i SharePoint, koble til bibliotek, koble fra) til høyre. Hele panelet er slippmål for filer: en stiplet overlegg-sone vises kun mens en fil dras over panelet, og en diskret hintlinje under fillisten forteller at dra-og-slipp er mulig.

Brukseksempel

<app-sharepoint-documents
  [connection]="sharePointConnection"
  [showConnect]="canCreateSharePointConnection"
  (connectClicked)="openSharePointPicker()"
  (disconnected)="handleDisconnected($event)">
  <!-- Valgfritt: kontekst-spesifikke "Ny"-handlinger projiseres inn øverst i Ny-menyen -->
  <button sp-new-actions type="button" class="dropdown-item" (click)="createContextFolder()">
    <i class="bi bi-folder-plus me-2"></i>{{ 'MyModule.newContextFolder' | translate }}
  </button>
</app-sharepoint-documents>

API

Type Navn Default Beskrivelse
Input connection null Aktiv SharePointConnectionDto.
Input showConnect false Viser «Koble til bibliotek» i Mer-menyen.
Output connectClicked Ber parent åpne picker eller connection-flow.
Output disconnected Emitter connection-id etter disconnect.
Slot [sp-new-actions] Innhold projiseres øverst i «Ny»-menyen. Bruk <button class="dropdown-item">.

SharePoint-picker

Del Sti
Komponent ui/ePortal.ui/src/app/components/shared/sharepoint-picker/sharepoint-picker.component.ts

Picker-komponenten er laget for NgbModal. Den søker etter SharePoint-sites, lar bruker velge drive og deretter mappe. Resultatet returneres via activeModal.close.

Brukseksempel

openSharePointPicker(): void {
  const modalRef = this.modalService.open(SharePointPickerComponent, {
    size: 'lg',
    backdrop: 'static',
  });

  modalRef.result.then((result: SharePointPickerResult) => {
    return this.sharePointService.createConnection({
      siteId: result.siteId,
      driveId: result.driveId,
      folderId: result.folderId,
    }).subscribe(connection => {
      this.sharePointConnection = connection;
    });
  }).catch(() => undefined);
}

Resultat

Felt Beskrivelse
siteId Valgt SharePoint site-id.
siteName Visningsnavn for site.
siteUrl URL til site.
driveId Valgt drive-id.
driveName Visningsnavn for drive.
folderId Valgt mappe-id, hvis ikke root.
folderPath Lesbar mappepath.

Kjente fallgruver

Fallgruve Riktig mønster
Bruke document-card for SharePoint-filer Bruk SharePoint-komponentene når filene ligger i M365.
Åpne picker som vanlig inline-komponent Bruk NgbModal, siden komponenten avhenger av NgbActiveModal.
Anta at SharePoint connection alltid finnes Håndter connection = null og showConnect.
Hardkode toast-tekster rundt document-card Bruk translationPrefix og i18n-nøkler.

Relaterte sider