Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 11 15:26

    derrell on new-class-property-system

    Properties must be enumerable+c… (compare)

  • Aug 11 14:11

    hkollmann on npm_and_yarn

    (compare)

  • Aug 11 14:11

    hkollmann on master

    Bump terser from 5.14.1 to 5.14… (compare)

  • Aug 11 14:11
    hkollmann closed #10428
  • Aug 11 14:11

    hkollmann on npm_and_yarn

    (compare)

  • Aug 11 14:11
    hkollmann closed #10430
  • Aug 11 14:11

    hkollmann on master

    Bump terser from 5.10.0 to 5.14… (compare)

  • Aug 11 14:10

    hkollmann on master

    Some refactoring and correction… (compare)

  • Aug 11 14:10
    hkollmann closed #10432
  • Aug 09 17:46

    derrell on new-class-property-system

    fix more calls that passed obj … Fix another use of modified pro… Ensure recursive apply method c… (compare)

  • Aug 09 07:11
    oetiker labeled #10432
  • Aug 09 00:49
    evandropoa review_requested #10432
  • Aug 08 18:51

    derrell on new-class-property-system

    new test results replace property `show` with `s… Error on property that overwrit… and 1 more (compare)

  • Aug 08 17:41
    evandropoa synchronize #10432
  • Aug 08 17:34
    evandropoa synchronize #10432
  • Aug 08 16:20
    evandropoa synchronize #10432
  • Aug 08 15:57
    oetiker commented #10432
  • Aug 08 15:57
    oetiker commented #10432
  • Aug 08 15:39
    evandropoa synchronize #10432
  • Aug 08 15:30
    oetiker synchronize #10432
NW Group
@nwgroup
Hummmmm we see the same warning!
Dmitry Zolotov
@goldim
Nothing wrong with this warning/info message. Everything working as before so far. Probably I should use other ways to set fonts.
sereende
@sereende:matrix.org
[m]

@sereende:matrix.org https://tinyurl.com/5e43exhc

Thanks @derrel, so no ways to have an HBox item respect a preferred width if there is room, and shrink if not

Derrell Lipman
@derrell
@sereende:matrix.org So you want it never to exceed that width, but shrinking is fine? In that case, you could set maxWidth. You're giving it flex, so it'll try to consume as much space as possible (spread among all items in the container with the same flex value).
sereende
@sereende:matrix.org
[m]
I know, used flex in the example just to test flexShrink, as docs states. But anyhow, without flex it does not shrink indeed. So I understand the way is to use maxWidth AND flex https://tinyurl.com/47heejwy
RayIslas
@RayIslas
GoodMorning guys, which is the best approach to escape non us characters, I'm saving a customer's record with lastname ZUÑIGA and appears as ZU%C3%91IGA, i tried with Ñ and did not work, any help is really appreciated
2 replies
NW Group
@nwgroup
Hi @derrell, finally we use your hack method and works perfect!!!!! this.getValue = () => this.getData(); Thanks a lot!!!!!!
Christian Mayer
@ChristianMayer
Hi, is there a secret setting to make the compiler handle TypeScript like native JavaScript?
Running npx qx serve and changing a JS file gives me an immediate new compilation, but changing a TS file (which is just a renames JS file with a Qx class inside) doesn't. When I now make a dummy edit to a JS file the TS gets compiled correctly and everything behaves as expected.
4 replies
Christian Mayer
@ChristianMayer

And also a question about layouts: I want something IMHO simple: the full web page should show a menu bar on the top and have windows on the remaining page. So I created:

var root = this.getRoot();
var layout = new qx.ui.layout.VBox(5);
var container = new qx.ui.container.Composite(layout);
root.add(container);
var toolBar = new qx.ui.toolbar.ToolBar();
container.add(toolBar,{flex:0});
var windowManager = new qx.ui.window.Manager();
var desktop = new qx.ui.window.Desktop(windowManager);
var win= new qx.ui.window.Window('top level');
win.setLayout(new qx.ui.layout.Grow());
win.open();
desktop.add(win);

but the window doesn't use the full width. Moving it the width is extended. But I want it to use it immediately.

In some tutorial I found a trick like adding

      root.addListener("resize", function(e) {
        container.set({
          "width": qx.bom.Viewport.getWidth(),
          "height": qx.bom.Viewport.getHeight(),
        });
      }, this);

But I doubt that such a clumsy solution is the correct one...

What is the solution without manually adding the resize handler?
Tobias Bräutigam
@peuter
root.setLayout(new qx.ui.layout.Canvas());
root.add(container, {edge: 0});
Should do the trick.
2 replies
NW Group
@nwgroup

Hi, we are trying to use the qx.html.Element widget in this way:

var w = new qx.ui.window.Window();
w.setLayout(new qx.ui.layout.VBox());
var c = new qx.ui.container.Composite(new qx.ui.layout.VBox());
var css = {
   width: 260,
   height: 195
};
var arrbtRemote = {
  autoPlay: true,
  width: 260,
  muted: true
};
var video = new qx.html.Element("video", css, arrbtRemote);
c.getContentElement().add(video, {
  flex: 0
});
w.add(c);
w.show();

but got the next error: Node.js:577 Uncaught TypeError: child.isVisible is not a function
at wrapper.flush (Node.js:577:21)
at wrapper.flush (Node.js:578:19)
at wrapper.flush (Node.js:578:19)
at wrapper.flush (Node.js:578:19)
at Function.flush (Element.js:227:13)
at self.retriesP_90_3 (Manager.js:189:31)
at Object._true [as executeAndRescheduleOnErrorP_90_5] (Manager.js:235:9)
at Object.flush (Manager.js:89:12)
at Object.<anonymous> (Manager.js:62:16)
at cb (AnimationFrame.js:181:18)

Even we tried to add the widget on the "appear" event but got the same error.
NW Group
@nwgroup
Derrell Lipman
@derrell
@nwgroup I'm not sure what flex: 0 should do, but it doesn't make a lot of sense and is the cause of your error. Here's the same dummy app, with the correction. https://tinyurl.com/3c5fn3zu
within a container, widgets get a proportion of the container according to their flex value. I think the calculation is adding up all of the flex values and then using each widget's flex value as that widget's portion of that total container. So if you have three widgets in a container, all with flex : 1 then each would consume 1/(1+1+1) = 1/3 of the container. If one of those three has flex : 2 and the others have flex : 1, then the first one should consume 1/2 (1/2+1+1) of the container, and each of the others, 1/4 of the container. A flex value of 0, therefore, would probably attempt to make the widget consume 0/totalFlexValues of the container, i.e., be invisible, but that's likely not properly implemented and is somewhat silly.
Scott Knick
@sknick
I'd also just use a qx.ui.embed.Html object, not a qx.html.Elemeent. I believe the latter doesn't integrate as well as the former into the other APIs, but I could be mistaken.
Fritz Zaucker
@zaucker
@sknick I finally got around to check our bank account. Thanks very much for your donation.
Seems thast Donorbox doesn't send notifications about payements. I now activated notifications about deposits on our bank account instead.
Scott Knick
@sknick
Cool.
Derrell Lipman
@derrell
Is there any documentation on (or does anyone know) the order in which constructors of mixins and superclasses are made? Can a class that includes a mixin assume in its constructor that the mixin constructor has already been called? Conversely, can a mixin constructor assume that its including class has already been called?
6 replies
John Spackman
@johnspackman
@derrell I imagine it’s a bit of a PITA to gather these details but it’s really useful because they never made it to the docs, so if you have a moment to note them down that would be great :+1:
Chris Eskew
@sqville
@johnspackman That ruins the hunt ;-)
John Spackman
@johnspackman
:)
Evandro Bitencourt
@evandropoa
hi all, What can I do to to list all properties of a class defined using qx.Class.define?
I've tried qx.Class.getProperties(myinstance) and it returns an empty array always
Evandro Bitencourt
@evandropoa
uhmm, I can do this way qx.Class.getProperties(qx.Class.$$registry[myinstance.classname]), but seens a litle invasive
Evandro Bitencourt
@evandropoa
Maybe qx.Bootstrap.getByName(myinstance.classname) it's a litle less invasive
Derrell Lipman
@derrell
@evandropoa qx.Class.getProperties takes a class, not an instance. You can call qx.Class.getProperties(qx.ui.core.Widget) for example. If you have an instance, you can get the class from which it was constructed using the instance's constructor property, so you should be able to call qx.Class.getProperties(myinstance.constructor)
In general, you should avoid directly calling anything in qx.Bootstrap
Derrell Lipman
@derrell
Oh, you should also avoid directly referencing anything beginning with $ as those are purely internal implementation dependent, and could change at any time, i.e., they are not part of the public interface. I applaud your delving into the source code, however! :-)
Evandro Bitencourt
@evandropoa
Iḿ using the following call now qx.Class.getProperties(qx.Bootstrap.getByName(myinstance.classname))
Thanks
But qx.Class.getProperties(myinstance.constructor) its more short 4 sure
Derrell Lipman
@derrell
Not only is it shorter, but as I mentioned before, you should avoid using the qx.Bootstrap methods if possible. Those are there for… uhhh… bootstrapping the system. Normal usecases don't reference that class.
If you really want to use getByName then you should use qx.Class.getByName(). At present, that happens to point to qx.Bootstrap.getByName but in the future, qx.Class.getByName will likely remain backward compatible, whereas qx.Bootstrap.getByName may not.
Evandro Bitencourt
@evandropoa
Thanks I'm just looking inside the source, I already have looked at the compiler
Evandro Bitencourt
@evandropoa
And now just exploring a litle more, figuring out the property initialization, features, etc..
Dmitry Zolotov
@goldim
Good evening, created PR qooxdoo/website#67 to website but got problem with access in deploy pipeline. Couldn't you tell me what I forgot to do? Maybe I have to create some token or something else.
Henner Kollmann
@hkollmann
@goldim: I just merged it
Dmitry Zolotov
@goldim
@hkollmann big thanks. Previous PR there was fine without errors as I could remember.
Evandro Bitencourt
@evandropoa
What are the browser support requirements?
2 replies
RayIslas
@RayIslas
@cboulanger I've been using Dialog package of yours, and I wonder if it's possible to set focus to one especific button, some users are very used to keyboard and don't want to point with mouse and click, thank you.
7 replies
Hidden Hidden
@Alaberny_gitlab

It seems simple to me, but it's definitely not easy...
I'm trying to connect TypeScript in some way. But I fail.

I do not know how qooxdoo compiler works and in what order application is built. I assume that there is no active development in ts here, so I will describe train of thought.
(From observations, when I create qooxdoo.d.ts, I see that logic is slightly different from concept of ts being laid down. But it's enough to get hints. I.e. I can't use it to describe types. ts will swear.)
Ts is also going to js. And already in qooxdoo there is possibility of using require().
qooxdoo also uses Babel. I don't know in what order and how it works together with qooxdoo compiler. But I see that qooxdoo compiler works with "@babel/core": "^7.12.10".
And Babel 7 understands TypeScript: https://devblogs.microsoft.com/typescript/typescript-and-babel-7 /.
I am not an expert ts and qooxdoo compiler. But I guess that...
You can add ability of qooxdoo compiler to work with extension .ts.
After that, Babel 7 could convert from ts to temporary js files. And then qooxdoo compiler could build application as usual.
Maybe it will work...

Anyway, I really want to use TypeScript. There is no need to use strict mode. But I want to use TypeScript features and charms of qooxdoo together.

Hidden Hidden
@Alaberny_gitlab

I also thought that need to simplify first launch of application, similar to React.
Example:
npx create-qooxdoo-desktop myapp --out=.
(Command will exclude basic steps:
npm init
npm install --save-dev @qooxdoo/framework
npx qx create myapp --type desktop --noninteractive --out=.
And also add to package.json in scripts: start, for start command)

npm start
(This is a standard startup command for Node, which could call for example:
npx qx serve)

John Spackman
@johnspackman
@Alaberny_gitlab you’re right that the compiler already uses babel, which is how it converts ES6 into ES5. I’ve just read https://iamturns.com/typescript-babel/ which says that we could add typescript into the compiler with little more than adding babel-preset-typescript and by watching for *.ts as well as *.js, but I imagine that it would require some experimenting with to get right
the compiler does have a feature to output a .d.ts file so that Qooxdoo type definitions can be used with typescript apps, but I think there’s been some reports lately that might be broken or not work quite right
Scott Knick
@sknick

Just realized that 7.2.x is out. This is a much-needed addition:

http://qooxdoo.org/qxl.apiviewer/v7.2/#qx.ui.form.FileSelectorButton

Scott Knick
@sknick
One thing I notice though is that the good class-level documentation Tobias wrote isn't parsed out into the API viewer.
Tobias Oetiker
@oetiker
@sknick even worse, there is also a bug in the implementation ...
qooxdoo/qooxdoo#10432 should fix it