Coder Social home page Coder Social logo

jsreport-studio's Issues

Entity set order in the entity tree

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.

Unable to import if Jsreport Studio is running in Internet Explorer 11

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.

Working code samples

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.

npm start, npm run build fails in npm@2

seems like you were using npm@3 to develop this package and because of that maybe some things work on your machine but when doing a fresh install with npm@2 problems start to appear.

first thing i noticed was that there is no less-loader in dependencies

captura de pantalla 2016-05-21 a las 11 58 25 a m

References to removed entities

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

Task generated report return 404 with appPath & mountOnAppPath

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

Cloning assets in Studio doesn't work in 2.6

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)

cloning entities that have an extension in its name (".") should be named differently

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"

Create entity into the root

There seems to be missing a button to create entity in the root.

In the VS Code there is this toolbar
image

not sure if this is good one, I think I would like a context menu if you click somewhere to the area,
this should be discussed

Ability to rename templates, scripts, images, data...

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?

Safari/IE tab layout issue

The safari seems to wrongly display tabs. It looks like the same problem on internet explorer.
safari

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.

Folders and Icons in tree view

Any chance of adding

  1. folders in templates tree view
  2. icons indicating template recipe

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.

Export / Import Reports

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?

Feature: Add icons indicating recipe and engine

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!

Keybord navigation in tree

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.

Too many tabs

Too many tabs starts too be aligned wrongly when it should become two rows of tabs.

Clone entity feature

This feature was requested by some users:
Right click an entity => select clone entity => Fill the new name in dialog

Save All phantom header throws error for new entity

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)

Validate entities name prior to creation

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:

  • \ (backslash)
  • / (forward slash)
  • : (colon)
  • * (asterisk)
  • ? (question mark)
  • " (double quotes)
  • < (less than sign)
  • > (greater than sign)
  • | (pipe)

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.

Download as PDF only possible from detached preview or direct download

jsreport: 2.6.0
Recipe: chrome-pdf

Attached preview

  1. Render to preview on the same tab
  2. Try do download pdf via download button -> can only get html

Detached preview

  1. Render to detached preview
  2. Try do download pdf via download button -> works fine

Render to download

  1. Render directly to file
  2. PDF file created in downloads folder as expected

Studio doesn't start up when running on subpath

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;
    }

Feature: Add folders in studio

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!

How to add a new user to JSReport Studio

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?

studio-extensions.client.js served with incorrect mime type

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:

  • content-type: text/html; charset=utf-8
  • x-content-type-options: nosniff

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.

Remove entity after failed save causes server request

Steps to reproduce:

  1. new schedule
  2. try to save empty schedule without cron, error should pop up
  3. try to remove the entity from entity tree
  4. BUG - studio is making delete request to server

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.