我尝试制作自定义模板listView,例如:
import listTemplate from '../templates/listTemplate.html';
var users = admin.getEntity('users');
users
.listView()
.template(listTemplate)
.actions([])
.title('All users')
.perPage(10)
.fields([
nga.field('email'),
nga.field('name')
])
.filters([
nga.field('filter', 'template')
.label('')
.pinned(true)
.defaultValue('')
.template('<div class="input-group"><input type="text" ng-model="value" placeholder="Search..." class="form-control"></input><span class="input-group-addon"><i class="glyphicon glyphicon-search"></i></span></div>')
])
.listActions(['edit', 'show']);
Run Code Online (Sandbox Code Playgroud)
和listTemplate.html模板,我从ng-admin的源代码复制:
<div class="row list-view" ng-class="::'ng-admin-entity-' + listController.entity.name()">
<div class="col-lg-12">
<ma-datagrid name="{{ ::listController.view.name() }}"
entries="listController.dataStore.getEntries(listController.entity.uniqueId)"
selection="selection"
fields="::listController.fields"
list-actions="::listController.listActions"
entity="::listController.entity"
datastore="listController.dataStore">
</ma-datagrid>
</div>
</div>
<div class="row" ng-if="::!listController.infinitePagination">
<div class="col-lg-12">
<ma-datagrid-pagination
page="{{ listController.page }}"
per-page="{{ ::listController.view.perPage() }}"
total-items="{{ listController.totalItems }}"
set-page="::listController.setPageCallback">
</ma-datagrid-pagination>
</div>
</div>
<ma-datagrid-infinite-pagination …Run Code Online (Sandbox Code Playgroud) 我们正在使用一个Spring-Boot Spring-Data后端,该后端利用JPARepositories和@RepositoryRestResource注释.我们希望通过javascript前端管理这些存储库中的表(例如CRUD),而无需完成编码工作.我们调查了各种替代方案,如LightAdmin,JHipster和ng-admin.
我们无法使LightAdmin工作,因为它依赖于比我们正在运行的更旧版本的Spring-Data.它与最新和最好的Spring-Data版本不兼容.
我们尝试了JHipster,但它支持我们不想要的所有服务和控制器,因为@RepositoryRestResource免费提供给你.
我们尝试使用ng-admin,但它在HATEOAS的上下文中效果不佳; 我们不得不投入太多的映射来使它只能部分工作.
所以我的问题是这个.是否有类似于ng-admin,JHipster和LightAdmin的产品,这将允许我们轻松地CRUD我们的@RepositoryRestResourceJPA存储库,以便我们不必编写样板CRUD代码?
我正在使用带有rest API的ng-admin,我有多个引用列表,这些列表在服务器端经常更新.
有没有办法使用ng-admin每隔5秒左右刷新一次引用列表?
编辑:我已经知道setInterval和$ interval.但我无法弄清楚在ng-admin中我应该把它放在哪里,究竟是什么文件,这就是我被困住的地方.
我的ng-admin应用程序中有一个referenced_list:
nga.field('profiles', 'referenced_list') // display list of related profiles
.targetEntity(profiles)
.targetReferenceField('user_id')
.targetFields([
nga.field('id').isDetailLink(true),
nga.field('username'),
]),
nga.field('', 'template').label('')
.template('<span class="pull-right"><ma-filtered-list-button entity-name="profiles" filter="{ user_id: entry.values.id }" size="sm"></ma-filtered-list-button></span>')
Run Code Online (Sandbox Code Playgroud)
模板字段创建"查看所有相关的配置文件"链接.
我想要做的是创建一个"添加新的配置文件"按钮,链接到配置文件创建页面,并预先选择当前的user_id.
有没有做这个或自定义模板/指令可以做到这一点?
我正在使用ng-admin编写管理员管理.我遇到了下面的问题,有人可以帮帮我吗?
在我的creationView中,我想根据"类型"字段的选择显示不同的字段(文本/视频/图片).我怎么能做到的?
var articles = nga.entity('articles');
articles.creationView().fields([
nga.field('type','choice')
.validation({ required: true })
.choices([
// 1: txt, 2: pic, 3: vid
{ value: 1, label: 'Text'},
{ value: 2, label: 'Picture'},
{ value: 3, label: 'Video'},
]),
nga.field('txt','file')
.attributes({ placeholder: 'Write something... !' }),
nga.field('pic','file')
.label('Picture(.jpg|.png)')
.uploadInformation({ 'url': '/api/adminapi/uploadPicture', 'apifilename': 'pictures', 'accept': 'image/jpg,image/png'}),
nga.field('vid','file')
.label('Video(.mp4)')
.uploadInformation({ 'url': '/api/adminapi/uploadVideo', 'apifilename': 'video', 'accept': 'video/mp4'}),
])Run Code Online (Sandbox Code Playgroud)
我正在使用众所周知的React Framework
https://marmelab.com/admin-on-rest/RestClients.html
现在我想将文件上传到Firebase,按照文档操作,找到一个很棒的上传组件
FileInput(FileInput允许使用react-dropzone上传一些文件。)
所以我在我的React应用程序中使用了它,下面是我的代码
export const PostCreate = (props) => (
<Create {...props}>
<SimpleForm>
<ReferenceInput label="User" source="userId" reference="profiles" allowEmpty>
<SelectInput optionText="name" />
</ReferenceInput>
<TextInput source="title" />
<LongTextInput source="body" />
<FileInput source="files" label="Related files" accept="video/*,audio/*, image/*, application/*" multiple={true} >
<FileField source="src" title="title" />
</FileInput>
</SimpleForm>
</Create>
);
Run Code Online (Sandbox Code Playgroud)
对于Firebase交互,我正在使用
当我看到Firebase控制台时,我看不到Firebase存储桶中的任何文件,但字段值保存正确。
“ blob:http:// localhost:3000 / 8daedcb8-e526-427b-aa0c-83ff7ce9deee ”
我是这个框架的新手,所以我知道我肯定错过了一些东西,但是我仍在寻找什么。
因此,请帮助我找到解决方案。
ng-admin ×6
angularjs ×4
firebase ×1
hateoas ×1
javascript ×1
jhipster ×1
lightadmin ×1
reactjs ×1
rest ×1
spring-data ×1