Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.0 beta #831

Merged
merged 46 commits into from Feb 11, 2021
Merged

3.0 beta #831

merged 46 commits into from Feb 11, 2021

Conversation

twokul
Copy link
Contributor

@twokul twokul commented Aug 7, 2020

Test PR to make sure tests are good.

See: #819

mixonic and others added 4 commits August 7, 2020 10:38
* Bump `ember-cli-sass` to `10`

* Update `@addepar/style-box`

* Update package.json

Co-authored-by: Matthew Beale <matt.beale@addepar.com>

* Update .travis.yml

Co-authored-by: Matthew Beale <matt.beale@addepar.com>

Co-authored-by: Matthew Beale <matt.beale@addepar.com>
After we have updated `ember-cli-sass` to `10`, the following warnings
started popping up:

```sh
WARNING: You probably don't mean to use the color value silver in interpolation here.
It may end up represented as silver, which will likely produce invalid CSS.
Always quote color names when using them as strings or map keys (for example, "silver").
If you really want to use the color value here, use '"" + $color-name'.
```

This change will get rid of the warnings without changing the output
CSS.
@twokul
Copy link
Contributor Author

twokul commented Aug 7, 2020

not ok 46 Chrome 62.0 - [60047 ms] - Acceptance | docs: subcolumns docs renders cell content
    ---
        actual: >
            [object Object]
        stack: >
            Error: fetch is not defined - maybe your browser targets are not covering everything you need?
                at Module.callback (http://localhost:7357/assets/vendor.js:112532:13)
                at Module.exports (http://localhost:7357/assets/vendor.js:7315:32)
                at Module._reify (http://localhost:7357/assets/vendor.js:7352:59)
                at Module.reify (http://localhost:7357/assets/vendor.js:7339:27)
                at Module.exports (http://localhost:7357/assets/vendor.js:7313:10)
                at Module._reify (http://localhost:7357/assets/vendor.js:7352:59)
                at Module.reify (http://localhost:7357/assets/vendor.js:7339:27)
                at Module.exports (http://localhost:7357/assets/vendor.js:7313:10)
                at Module._reify (http://localhost:7357/assets/vendor.js:7352:59)
                at Module.reify (http://localhost:7357/assets/vendor.js:7339:27)
        message: >
            fetch is not defined - maybe your browser targets are not covering everything you need?
        negative: >
            false
        browser log: |

twokul and others added 16 commits August 7, 2020 10:17
Also drop un-used XHR mocking dependencies, and pin a dependency of
ember-cli-addon-docs per
ember-cli/ember-fetch#547 (which could
alternatively be resolved by upgrading ember-cli-addon-docs to ^8.0.2)
…fset-fix

The `TableStickyPolyfill` is used to position header and footer rows. The individual `th` and `td` offset positions are calculated for the footer rows so they remain “sticky”. There is a bug in the logic for calculating the bottom offset for table footer rows where the `rows` were being iterated backwards while the `heights` were iterated forwards. This bug manifests when table footer rows have varying heights and the list of heights is not a palindrome. 

As shown in the image below, the table has 7 footer rows where the height of the 1st footer row is 74px and the height of all other footer rows is 26px. The bottom offset of the 6th row takes into account the height of the 1st row and not the 7th row due to the loop iteration direction bug.
The list `heights: [74, 26, 26, 26, 26, 26, 26]` is errantly being read in reverse order as `heights: [26, 26, 26, 26, 26, 26, 74]`. 
The ember-twiddle demonstrates the issue [here](https://ember-twiddle.com/35a7259172fd509c4da030ac803fa937
).

![image](https://user-images.githubusercontent.com/42778466/97247629-6c290580-17d6-11eb-90d2-c8fd66faeced.png)
* Add enableScrollIndicator option to ember-thead

* Add sample documentation

* Render fixed scroll indicators

* Toggle scroll indicators based on scrolling

* Adjust scroll indicator position for fixed columns

* Reevaluate scroll indicator show/hide on column width change

* Ensure right indicator does not show when table is too narrow

* Limit height of scroll indicator to match table height

* Put resize sensor on table rather than scroll

* Ensure all scroll tests use the new overflow container
mixonic and others added 2 commits January 11, 2021 07:14
The LICENSE.md file was corrupted during an Ember version update in:

* 4893991#diff-4673a3aba01813b595de187a7a6e9e63a3491d55821606fecd9f13a10c188a1d

Additionally the `package.json` has been out of date, claiming MIT
license, since the original change to BSD-3 in:

* e7ce993#diff-4673a3aba01813b595de187a7a6e9e63a3491d55821606fecd9f13a10c188a1d

This corrects those errors, with re-approval from Addepar legal
on 2021-01-10.
twokul and others added 2 commits January 26, 2021 16:21
Places bottom scroll indicator correctly when footer is tall enough to scroll. In this case, the indicator sits above the footer until it begins to scroll, then jumps to the bottom of the table to indicate the source of further rows. Example updated in docs.
ahmacleod and others added 7 commits February 1, 2021 12:37
Enables support for JS stage 4 features.

- [Nullish Coalescing](https://github.com/tc39/proposal-nullish-coalescing)
- [Numeric Separator](https://github.com/tc39/proposal-numeric-separator)
- [Optional Catch Binding](https://github.com/tc39/proposal-optional-catch-binding)

<details>

<summary>Nullish Coalescing</summary>

```javascript
const response = {
  settings: {
    nullValue: null,
    height: 400,
    animationDuration: 0,
    headerText: '',
    showSplashScreen: false
  }
};

const undefinedValue = response.settings.undefinedValue ?? 'some other default'; // result: 'some other default'
const nullValue = response.settings.nullValue ?? 'some other default'; // result: 'some other default'
```

</details>

<details>

<summary>Numeric Separator</summary>

```javascript
1_000_000_000           // Ah, so a billion
101_475_938.38          // And this is hundreds of millions

let fee = 123_00;       // $123 (12300 cents, apparently)
let fee = 12_300;       // $12,300 (woah, that fee!)
let amount = 12345_00;  // 12,345 (1234500 cents, apparently)
let amount = 123_4500;  // 123.45 (4-fixed financial)
let amount = 1_234_500; // 1,234,500

0.000_001 // 1 millionth
1e10_000  // 10^10000

// Binary
let nibbles = 0b1010_0001_1000_0101;

// Hex Litral
let message = 0xA0_B0_C0;

// Octal Literal
let x = 0o1234_5670;
```

</details>

<details>

<summary>Optional Catch Binding</summary>

```javascript
try {
  throwAnException();
} catch {
  console.log('we do not care about error object here, carry on');
}
```

</details>
A follow up on #861.

ET does not use `@babel/preset-env` (arguably, it should) so we have to
add the plugins we need manually. I forgot to do that in #861 - my bad.

One of the practical implications of this is that the consumers that do
not have these plugins enabled, will crash.
@juanazam
Copy link

juanazam commented Feb 5, 2021

@twokul Hey, since you guys are close to releasing, I'm seeing warnings coming from the page objects for tests:

This is the warnings: 'ember-cli-page-object.string-properties-on-definition', would you mind taking a look?

@mixonic
Copy link
Member

mixonic commented Feb 5, 2021

@twokul Hey, since you guys are close to releasing, I'm seeing warnings coming from the page objects for tests:

This is the warnings: 'ember-cli-page-object.string-properties-on-definition', would you mind taking a look?

@juanazam I don't want to block 3.0 on warning/deprecations from dependencies. I agree it would be ideal to ship a version of ember-table with all the page object deps upgraded, in practice it has been non-trivial to accomplish and needs attention. Related are probably:

If this warning is having a direct impact on your dev experience, we could use help figuring out these upgrade paths. I think for Addepar maintainers it is on a side burner, but not off the stove.

@juanazam
Copy link

juanazam commented Feb 5, 2021

@mixonic I don't think bumping the version is necessary, not using plain string properties on page objects should be enough (basically implementing a getter that returns the same string value that was used before).

I totally agree on not blocking 3.0, I'm just seeing a lot of movement here so might as well to see what you guys think.

mixonic and others added 4 commits February 5, 2021 14:48
New versions of ember-cli-addon-docs bring a CSS reset which breaks
ember-table tests. Instead of coupling the ember-table test suite to
ember-cli-addon-docs CSS, I created a new ember try config for
generating docs and removed the dependencies from the normal dev setup.

I've documented how to generate the documentation in the README.md, and
I believe updated the deployment/release code appropriately.

Other changes related to the ember-cli-addon-docs upgrade include:

* Add a dependency on ember-data since it no longer brings along the
  dependency.
* Add newlines to account for bugs in ember-cli-addon-docs. See:
  ember-learn/ember-cli-addon-docs#473 and
ember-learn/ember-cli-addon-docs#402
* Add a missing `END-SNIPPET` without which parsing of the snippet was
  corrupted.
* Make an `hbs` template executable without error.
Adds two width constraint modes: `eq-container-slack` and `gte-container-slack`. These build on their non-"slack" counterparts by allocating excess container whitespace into an additional column that vanishes when it is no longer needed. This resembles behavior in applications like Excel and Google sheets.

Also adds `initialFillMode` parameter that is used exclusively in slack modes to perform the initial column layout. Values and default are the same as `fillMode`. In `eq-container-slack mode`, `fillMode` and `initialFillMode` can be set to different values. The former is used for enforcing the width constraint, while the latter is used only for initial sizing. Examples in docs.
@mixonic
Copy link
Member

mixonic commented Feb 10, 2021

@juanazam please see #869 which is tracking a bump to ember-classy-page-object and ember-cli-page-object. I haven't yet been able to integrate that into our own consuming applications, there are just a lot of moving parts in the test suite. I'm not sure if we will get it landed in time for 3.0 but the path is fairly clear. I just need to get our internal apps validated with the upgrade.

@juanazam
Copy link

@mixonic thanks so much for all your work! 👏

@twokul
Copy link
Contributor Author

twokul commented Feb 11, 2021

The ember-canary scenario is failing because of the regression introduced in emberjs/ember.js#19390. Ember.js team is working on a fix; I do not think it is a blocking issue.

@twokul twokul marked this pull request as ready for review February 11, 2021 20:16
@twokul twokul merged commit b24ec58 into master Feb 11, 2021
@twokul twokul deleted the 3.0-beta branch February 11, 2021 20:22
@mixonic mixonic mentioned this pull request Sep 29, 2021
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

None yet

8 participants