Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
a77e3ed
Adds defensive check when validating node title
akolson Oct 10, 2025
3c0b5c5
Fix focus ring on some buttons
MisRob Oct 20, 2025
3db707f
Fix confirmation dialogs not appearing
MisRob Oct 20, 2025
36bcb93
Use KButton for Send invitation
MisRob Oct 20, 2025
4390e78
Streamline getNodeDetailsErrorsList and getContentNodeDetailsAreValid…
akolson Oct 21, 2025
0a98b7f
Merge pull request #5464 from akolson/fix-undefined-title
bjester Oct 21, 2025
85e7101
Merge pull request #5483 from MisRob/button-fixes
MisRob Oct 21, 2025
21e5e05
[Remove Vuetify from Studio] Buttons/links in Import from channels
Abhishek-Punhani Oct 21, 2025
008ca83
Push div wrapper outside of VLayout, to restore epub renderer height
bjester Oct 21, 2025
d46919a
Merge pull request #5491 from bjester/epub-preview
akolson Oct 22, 2025
db480b8
distingushes recommendation and recommendation events endpoints
akolson Oct 24, 2025
b17e9ee
Fixes failing tests
akolson Oct 24, 2025
8d5df6c
Add file duration setting as migration task
rtibbles Oct 27, 2025
10d1e46
Merge pull request #5506 from akolson/dup-recs-endpoint-names
bjester Oct 27, 2025
0ce6108
Merge pull request #5508 from rtibbles/duration_should_endure
rtibbles Oct 29, 2025
bab2f8b
Revert "[DO NOT MERGE UNTIL JUST BEFORE RELEASE] Add file duration se…
rtibbles Oct 29, 2025
e41a884
Pin pip due to pip-tools incompatibility.
rtibbles Oct 29, 2025
1150f42
Merge pull request #5516 from learningequality/revert-5508-duration_s…
rtibbles Oct 29, 2025
7051861
Merge pull request #5518 from rtibbles/pinned_pip
rtibbles Oct 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/deploytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@ jobs:
${{ runner.os }}-pyprod-
- name: Install pip-tools and python dependencies
run: |
python -m pip install --upgrade pip
# Pin pip to 25.2 to avoid incompatibility with pip-tools and 25.3
# see https://github.com/jazzband/pip-tools/issues/2252
python -m pip install pip==25.2
pip install pip-tools
pip-sync requirements.txt
- name: Use pnpm
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/pythontest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,9 @@ jobs:
${{ runner.os }}-pytest-
- name: Install pip-tools and python dependencies
run: |
python -m pip install --upgrade pip
# Pin pip to 25.2 to avoid incompatibility with pip-tools and 25.3
# see https://github.com/jazzband/pip-tools/issues/2252
python -m pip install pip==25.2
pip install pip-tools
pip-sync requirements.txt requirements-dev.txt
- name: Test pytest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,44 +52,40 @@
>
<VIconWrapper small> check_circle </VIconWrapper>
<span class="mx-1">{{ $tr('addedText') }}</span>
<VBtn
color="primary"
<KButton
primary
:text="$tr('removeButton')"
@click="deselectNode(previewNode)"
>
{{ $tr('removeButton') }}
</VBtn>
/>
</VLayout>
</VFadeTransition>
<VBtn
<KButton
v-if="!previewIsSelected"
color="primary"
primary
:text="$tr('addButton')"
@click="selectNode(previewNode)"
>
{{ $tr('addButton') }}
</VBtn>
/>
</template>
</ResourceDrawer>
<template #bottom>
<div class="mx-2 subheading">
{{ $tr('resourcesSelected', { count: selectedResourcesCount }) }}
</div>
<VSpacer />
<VBtn
<KButton
v-if="isReview"
primary
:disabled="selected.length === 0"
color="primary"
:text="$tr('importAction')"
@click="handleClickImport"
>
{{ $tr('importAction') }}
</VBtn>
<VBtn
/>
<KButton
v-else
color="primary"
primary
:disabled="selected.length === 0"
:text="$tr('reviewAction')"
@click="handleClickReview"
>
{{ $tr('reviewAction') }}
</VBtn>
/>
</template>
</FullscreenModal>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@
v-if="!isBrowsing"
class="my-2"
>
<ActionLink
<KButton
:text="$tr('backToBrowseAction')"
appearance="basic-link"
@click="handleBackToBrowse"
/>
</div>
Expand Down Expand Up @@ -44,25 +45,27 @@
<Icon icon="search" />
</template>
<template #append-outer>
<VBtn
<KButton
class="px-4 search-btn"
color="primary"
primary
type="submit"
:text="$tr('searchAction')"
:disabled="!searchIsValid"
depressed
large
>
{{ $tr('searchAction') }}
</VBtn>
appearance="raised-button"
/>
</template>
</VTextField>
</VForm>

<div class="my-2">
<ActionLink
v-if="!isBrowsing"
<div
v-if="!isBrowsing"
class="my-2"
>
<KButton
class="mb-3"
:text="$tr('savedSearchesLabel')"
:disabled="!savedSearchesExist"
appearance="basic-link"
@click="showSavedSearches = true"
/>
<ActionLink
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,11 @@
})
}}
</span>
<ActionLink
<KButton
class="mx-2"
:disabled="currentSearchSaved"
:text="currentSearchSaved ? $tr('searchSavedSnackbar') : $tr('saveSearchAction')"
appearance="basic-link"
@click="handleClickSaveSearch"
/>
</VFlex>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<template>

<VLayout
:key="fileId"
:class="{ fullscreen }"
<div
class="renderer"
:aria-busy="isSupported && loading"
>
<div
class="renderer"
:aria-busy="isSupported && loading"
<VLayout
:key="fileId"
:class="{ fullscreen }"
>
<div
v-show="isSupported && loading"
Expand Down Expand Up @@ -139,8 +139,8 @@
</VTooltip>
</VLayout>
</VCard>
</div>
</VLayout>
</VLayout>
</div>

</template>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import messages from '../../translator';
import { parseNode } from './utils';
import { getNodeDetailsErrors, getNodeFilesErrors } from 'shared/utils/validation';
import { ContentKindsNames } from 'shared/leUtils/ContentKinds';
import { NEW_OBJECT } from 'shared/constants';
import { NEW_OBJECT, ValidationErrors } from 'shared/constants';
import { COPYING_STATUS, COPYING_STATUS_VALUES } from 'shared/data/constants';

function sorted(nodes) {
Expand Down Expand Up @@ -158,14 +158,22 @@ export function getContentNodeIsValid(state, getters, rootState, rootGetters) {

export function getContentNodeDetailsAreValid(state) {
return function (contentNodeId) {
const contentNode = state.contentNodesMap[contentNodeId];
return contentNode && (contentNode[NEW_OBJECT] || !getNodeDetailsErrors(contentNode).length);
return !getNodeDetailsErrorsList(state)(contentNodeId).length;
};
}

export function getNodeDetailsErrorsList(state) {
return function (contentNodeId) {
const contentNode = state.contentNodesMap[contentNodeId];

if (!contentNode) {
return [ValidationErrors.MISSING_NODE];
}

if (contentNode[NEW_OBJECT]) {
return [];
}

return getNodeDetailsErrors(contentNode);
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ export const ValidationErrors = {
ACTIVITY_DURATION_MAX_FOR_LONG_ACTIVITY: 'ACTIVITY_DURATION_MAX_FOR_LONG_ACTIVITY',
ACTIVITY_DURATION_MIN_REQUIREMENT: 'ACTIVITY_DURATION_MIN_REQUIREMENT',
ACTIVITY_DURATION_TOO_LONG: 'ACTIVITY_DURATION_TOO_LONG',
MISSING_NODE: 'MISSING_NODE',
...fileErrors,
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ export const FeedbackTypeOptions = {
flagged: 'FLAGGED',
};

export const FLAG_FEEDBACK_EVENT_ENDPOINT = 'flagged';
export const RECOMMENDATION_EVENT_ENDPOINT = 'recommendations';
export const RECOMMENDATION_INTERACTION_EVENT_ENDPOINT = 'recommendations-interaction';
export const FLAG_FEEDBACK_EVENT_ENDPOINT = 'flagged-events';
export const RECOMMENDATION_EVENT_ENDPOINT = 'recommendations-events';
export const RECOMMENDATION_INTERACTION_EVENT_ENDPOINT = 'recommendations-interaction-events';

/**
* @typedef {Object} BaseFeedbackParams
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,12 @@ body {
text-align: center;
}

.button:focus-visible,
.v-btn:focus-visible {
outline: 2px solid var(--v-secondary-base) !important;
// ensures that until KDS migration is complete,
// Vuetify-based buttons have a visible focus style
// consistent with KDS buttons and links
outline: 3px solid #33acf5 !important;
outline-offset: 4px !important;
}

> .v-dialog__content,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,13 @@
</template>
</DropdownWrapper>
</VLayout>
<VBtn
color="primary"
<KButton
type="submit"
:disabled="sharing"
primary
>
{{ $tr('inviteButton') }}
</VBtn>
</KButton>
</VForm>

<ChannelSharingTable
Expand Down
Loading