Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Not able to populate data from REST using Oracle JET Common Model

Ashish AwasthiApr 22 2019 — edited May 24 2019

Hello Everyone

I am trying to populate a JET table using Common Model and I have followed the approach suggested in JET MOOC Course but my table shows 'Initializing' and there is no error on browser console.

jet table.JPG

Here goes the code of EmpFactory.js file

define(['ojs/ojcore','ojs/ojmodel'], function (oj) {

var EmpFactory = {

    resourceUrl : '[https://codepen.io/cliffsanchez/pen/pbKmEy.html](https://codepen.io/cliffsanchez/pen/pbKmEy.html)', 

    // Single Employee Model

    createEmpModel : function () {

        var emp = oj.Model.extend( {

            urlRoot : this.resourceUrl, 

            idAttribute : "DepartmentId"

        });

        return new emp();

    },

    // Employees Collection

    createEmployeesCollection : function () {

        var employees = oj.Collection.extend( {

            url : this.resourceUrl, 

            model : this.createEmpModel()

        });

        return new employees();

    }

};

return EmpFactory;

});

dashboard.js

/*

* Your dashboard ViewModel code goes here

*/

define(['ojs/ojcore', 'knockout', 'EmpFactory', 'ojs/ojtable','ojs/ojcollectiontabledatasource'],

function (oj, ko, EmpFactory) {

var DashboardViewModel = {

    empCollection : EmpFactory.createEmployeesCollection(), 

    datasource : ko.observable(), 

    // Called each time the view is shown to the user:

    initialize : function () {

        this.datasource(new oj.CollectionTableDataSource(this.empCollection));

        this.empCollection.fetch();

    }

};

return DashboardViewModel;

});

and dashboard.html

<div class="oj-hybrid-padding">

\<h1>Dashboard Content Area\</h1>

\<div id="div1">

    \<oj-table id="table" summary="Department List" 

    aria-label="Departments Table" 

    data='\[\[datasource\]\]'

              columns='\[{"headerText": "Department Id",

              "field": "DepartmentId"},

              {"headerText": "Department Name",

              "field": "DepartmentName"},

              {"headerText": "Location Id",

              "field": "LocationId"},

              {"headerText": "Manager Id",

              "field": "ManagerId"}\]'>

    \</oj-table>

\</div>

</div>

Please let me know where I am doing wrong.

Thanks

This post has been answered by Geertjan-Oracle on May 8 2019
Jump to Answer

Comments

Ashish Awasthi

@"John " Please suggest something

Thanks

Geertjan-Oracle
Answer

This has been handled in a different thread. The 'initialize' function is not being called (it used to be called in earlier releases of JET) and here is a different way of solving the problem:

https://github.com/geertjanw/OJETCourse4.x/blob/master/lesson2/lesson2-part04.md

Marked as Answer by Ashish Awasthi · Sep 27 2020
Ashish Awasthi

@"Geertjan-Oracle" Thank you so much for your response It is solved

PS.- I am curious to know that how can you mark my thread as answered? Are you the admin of the JET community that has special rights than other community users?

Ashish

1 - 3

Post Details

Added on Apr 22 2019
3 comments
879 views