01-10-2022 04:51 AM
Hey,
I'm following this tutorial: https://www.alfresco.com/abn/adf/docs/tutorials/working-with-data-table/
here is my mydatatable.component.ts
import { Component, OnInit } from '@angular/core';
import { AlfrescoApiService } from '@alfresco/adf-core';
import { ObjectDataTableAdapter, ObjectDataRow } from '@alfresco/adf-core';
@Component({
selector: 'app-mydatatable',
templateUrl: './mydatatable.component.html',
styleUrls: ['./mydatatable.component.scss']
})
export class MydatatableComponent implements OnInit {
data = new ObjectDataTableAdapter([],[]);
constructor(private apiService: AlfrescoApiService) {
let api: any = this.apiService.getInstance();
// let api2: any = this.apiService;
api.webScript.executeWebScript(
'GET',
'people',
[],
null,
'/alfresco/api/-default-/public/alfresco/versions/1',
null
).then(
(response: any) => {
let results = [];
for (var entry of response.list.entries) {
results.push({
id: entry.entry.id,
firstName: entry.entry.firstName,
lastName: entry.entry.lastName,
status: 'green',
icon: 'material-icons://accessibility'
});
}
this.data.setRows(results.map(item => {
return new ObjectDataRow(item);
}));
}
);
}
ngOnInit(): void {
}
onRowClick(event: any) {
alert('We just clicked row id: ' + event.value.obj.status);
}
}and mydatatable.component.html
<adf-datatable
(rowClick)="onRowClick($event)"
[data]="data">
<data-columns>
<data-column
key="icon"
type="image"
[sortable]="false">
</data-column>
<data-column
key="firstName"
title="First Name">
</data-column>
<data-column
key="lastName"
title="Last Name"
class="full-width name-column">
</data-column>
<data-column key="status" title="Status">
<ng-template let-entry="$implicit">
<span *ngIf="entry.data.getValue(entry.row, entry.col) == 'red'" style="background-color: red; width: 20px; height: 20px"></span>
<span *ngIf="entry.data.getValue(entry.row, entry.col) == 'green'" style="background-color: green; width: 20px; height: 20px"></span>
</ng-template>
</data-column>
</data-columns>
</adf-datatable>when I compile I get nothing on the http://localhost:4200/mydatatable. However in the console I get this error:
core.js:4442 ERROR TypeError: Cannot read properties of undefined (reading 'executeWebScript')
at new MydatatableComponent (mydatatable.component.ts:22)
at NodeInjectorFactory.MydatatableComponent_Factory [as factory] (mydatatable.component.ts:55)
at getNodeInjectable (core.js:4274)
at instantiateRootComponent (core.js:8026)
at createRootComponent (core.js:13542)
at ComponentFactory$1.create (core.js:24101)
at ViewContainerRef.createComponent (core.js:10205)
at RouterOutlet.activateWith (router.js:5178)
at RouterOutlet.ngOnInit (router.js:5114)
at callHook (core.js:3281)PS: when I try the same url on postman it works
What could be the problem, and how I can fix it
Thank you in advance
02-17-2022 03:25 AM
The tutorial may be out of date. I think the webscript has been deprecated from newer versions of the ADF and it is no longer available. I used EcmUserService and it worked.
02-17-2022 03:25 AM
The tutorial may be out of date. I think the webscript has been deprecated from newer versions of the ADF and it is no longer available. I used EcmUserService and it worked.
04-04-2024 08:47 AM
Hello, a have installed template:
and did not found service/text EcmUserService, how to ge list of users w any component/view?
04-04-2024 09:15 AM
A try to get list of users service IdentityUserService but a have error in browser console:
How to get list of users?
Explore our Alfresco products with the links below. Use labels to filter content by product module.