jsreport / jsreport-studio Goto Github PK
View Code? Open in Web Editor NEWNew version of jsreport studio
License: MIT License
New version of jsreport studio
License: MIT License
The extension should be able to specify the position of entities in the entity tree.
This is can be done probably in the
Studio.addEntitySet({
name: 'assets',
faIcon: 'fa-file',
visibleName: 'asset',
onNew: () => Studio.openModal(NewAssetModal),
referenceAttributes: ['isSharedHelper'],
entityTreePosition: 200
})
I expect it to be in the end: templates, data, scripts, assets, images, xlsxTemplates, schedules, tags, users
The similar should work also for the properties. This is just rough spec, doesn't need to be realized in the same way.
Using the chrome browser the properties window is not fully visible when scrolled all the way to the bottom. A workaround is to set cursor focus in the last visible field and hit the tab key. In the attached screenshot the checkbox below "Keep relative links" is not visible:
I have a new pull request which will make even more properties not visible:
If Jsreport Studio (v1.7) with the jsreport-import-export module installed is running in IE 11, an "Object doesn't support this action" exception occurs when clicking the Validate button from the Import dialog. As a result, IE users are unable to import entities.
This should be very easy to replicate. Unfortunately, it appears the error occurs deep within the ES6-compiled React code within Jsreport Studio. Maybe updating Jsreport Studio to use the latest version of React (0.15.6 as of this writing) will resolve the problem?
Our workaround is to either use Google Chrome (I have not tried Edge or other browsers) or to replace the "data" directory within Jsreport manually from another install of Jsreport that has the identical entities.
Steps to reproduce
Hi,
First of all good job on the work you've done so far with jsreport. I spent the weekend evaluating it in a fair bit of detail. This tool shows some real promise. The ability to dispense with large cumbersome and bloated frameworks and other tooling for creating static visualisations and reports could finally be over.
I logged a couple of issues/questions which I think are mainly due to the lack of some complete end to end code samples and documentation. This maybe specifically due to my use case where I really need to use jsreport-core as oppose to the full server.
Although I've pretty much got things working now, I could do with more complete code samples and descriptions as to whats happening. Especially with regards to capturing and handling errors. Also I needed to wrap my process.exit()
within a timeout otherwise nothing gets written to files. Not sure if this is correct or just lack of my understanding.
Anything you have that provides more information as to whats happening would be very much appreciated.
The delete button in entity tree goes to wrong position if you scroll in a long entity tree.
The templates' references to data, scripts, tags or xlsxTemplates can get broken if the referenced entity is removed. I don't plan right now to implement this integrity in the server but the studio part should easily deal with it.
Right now, if you delete the referenced data, you need to select another data in the template, save, select no data reference and save to get rid of the invalid reference.
The template should be automatically marked as dirty and remove the invalid reference when it is being loaded. This should be probably done at this place and also accordingly in other extensions
https://github.com/jsreport/jsreport-data/blob/master/studio/DataProperties.js
Jsreport 2.6.1
Apply the seguent config to jsreport.config.js
appPath: '/some/path/jsreport',
mountOnAppPath: true
When the user wants to show a task-generated pdf, the node web service give a 404 error because the studio tries to load the generate file using the url
http://host:port/reports/[ID]/content
instead of
http://host:port/some/path/jsreport/reports/[ID]/content
Manually fixing the url in a new browser tab correctly show the expected pdf.
Guess it's just a forgotten path concatenation
Right click on an asset and selecting clone
in Studio 2.5, resulted in a cloned asset. Quite handy function.
Doing the same in Studio 2.6 results in a cloned assed shown in the folder tree in Studio, but there is no clone on disk. Refreshing Studio reveals that the asset never existed (i.e it disappears on refresh)
Renaming objects is not so obvious, lets add a button to the right click context menu next to the delete.
right now, in order to create the name of a cloned entity, the default behaviour is to append the "(clone)" string to the name of the original entity, this presents a problem for entities like the assets, where the extension part of the name is very important. so we should change the logic to consider this special case, and add the "(clone)" part before the "."
example:
"entity-name.css" -> "entity-name(clone).css"
A button for auto formatting code in the editor.
Introduce something like Studio.ReformatResolver.push((entity) => (code, mode) => ... )
Low Regular Expression Denial of Service
Package debug
Patched in >= 2.6.9 < 3.0.0 || >= 3.1.0
Dependency of jsreport
Path jsreport > jsreport-studio > compression > debug
More info https://nodesecurity.io/advisories/534
Once template is created, I can't change its name via UI....
Have to create new template, copy over contents, but then the template ID has changed so it has to be updated in the other system....
Any solutions to this?
Seems that the Save All
button switches the current tab if there are multiple of them dirty.
The safari seems to wrongly display tabs. It looks like the same problem on internet explorer.
These browsers are rarely used to reach jsreport (like 4%). It is not urgent to fix this if it should take long. However a dialog with message You seems to be using Safari which may have issues with displaying jsreport studio correctly. We recommend to run jsreport studio in the latest Chrome or Firefox.
Any chance of adding
Explanation:
Often I have same "logical" report but it has 3-4 different templates with different layouts and recipes
Having a folder where I can group templates per report would make it easier to organize things...
Having a flat list makes it difficult to navigate when there is a lot of reports...
Currently, the icon under templates tree is static (looks like a area chart).
This forces me to put type of the template in the name, For example:
report-one-html
report-one-pdf
report-one-excel
and so on....I still may have to do this to keep the names unique but it would help navigation, IMHO.
Steps to replicate
I have provisioned this in a docker image, but I need to import a predefined set of reports each time, is that possible ?, do I need to use another store other than file?
As per recommendation from @pofider in issue #11
Would it be possible to add icons indicating which recipe and templating engine the template is using?
Currently, the icon under templates tree is static (looks like a area chart).
This forces me to put type of the template in the name, For example (hb == handlebars):
report-one-hb-html
report-one-hb-pdf
report-one-hb-excel
report-two-hb-html
report-two-hb-pdf
report-two-hb-excel
and so on....I still may have to do this to keep the names unique but it would help navigation, IMHO.
Thanks
Z!
Just nice to have, but filling the backlog.
It would be nice if I can use keyboard arrows to navigate in the entity tree.
Up and down are clear.
Enter to open entity, but probably keep focus in the tree.
Left to collapse and Right to expand.
i think that depending on exact versions is more safe, the jsreport repository does it that way
Nice to have :)
The chrome F12 tools shows always this warning.
DevTools failed to parse SourceMap: http://localhost:5488/studio/assets/Component.js.map
Can we get rid of it?
seems like [email protected] has been used to develop jsreport-studio, but you have one dependency for [email protected], in fact this issue break my install in npm@2
Too many tabs starts too be aligned wrongly when it should become two rows of tabs.
This feature was requested by some users:
Right click an entity => select clone entity => Fill the new name in dialog
similar to #25 but this time using "Save All" button
Steps to replicate:
1.- Create new entity
2.- Don't save it
3.- Open header tab
4.- Try to save with "Save All"
Error pops up => Duplicated entry for key ..
(the issue is because two requests are being sent for the same entity to the server when only one should be sent in the case of header/footer templates)
When using the embedded file store, Jsreport Studio allows the user to use characters in asset names entity name that shouldn't be allowed. Specifically on Windows operating systems, the following characters should not be used:
In addition, asset names entity name should not start or end with spaces. The Windows operating system cannot move, rename, or delete directories containing leading or trailing spaces very easily.
I would agree that the simple answer is "don't do that." I'm logging this because we discovered by accident that assets entities with these characters place files outside of their expected storage location, and this software change would prevent possible problems with your other customers.
Thank you for your consideration.
Opening studio with entity selection
http://localhost:3000/studio/schedules/B1Rma9G12
Should redirect to the / if entity is not found.
I think it was working like this before and now with directories it stuck in loading
jsreport: 2.6.0
Recipe: chrome-pdf
Attached preview
Detached preview
Render to download
The problem is that jsreport studio wrongly assemble the client.js
path when running behind reverse proxy like nginx.
Temporary workaround in nginx
location / {
rewrite client\.js.* /reporting/studio/assets/client.js$1 permanent;
}
As per recommendation from @pofider in issue #11
Would it be possible to add ability to organize templates (and other items, scripts, data, etc, etc) in foders?
Often I have same "logical" report but it has 3-4 different templates with different layouts and recipes
Having a folder where I can group templates per report would make it easier to organize things...
Having a flat list makes it difficult to navigate when there is a lot of reports...
Thanks
Z!
Low priority nice to have.
Hi, I am new to JSReport. I have installed jsreport on my linux server and jsreport studio opens up at 5488 from the browser. I am then able to login with my admin user. The question now is: How can I add additional users?
Just updated to the latest docker images. Can no longer load the studio.
The error is:
Refused to execute script from '/studio/assets/studio-extensions.client.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
The request comes back with key response headers of:
We've removed the x-content-type-options: nosniff
header from our reverse proxy and this fixes the issue for now but express should really be serving the file with the correct mime type. Jsreport 2.4.0 did not seem to have this issue.
This would bring much more space to work, however not sure if this will be even possible. Needs to be analyzed.
Steps to reproduce:
This causes error at least with mongo - Argument passed in must be a single String of 12 bytes or a string of 24 hex characters
. User needs to close the entity tab.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.