d
This commit is contained in:
@@ -3,7 +3,7 @@ Pod::Spec.new do |s|
|
|||||||
s.name = 'MeetupIdX'
|
s.name = 'MeetupIdX'
|
||||||
s.version = '2023.12.28'
|
s.version = '2023.12.28'
|
||||||
s.license = 'IVCS'
|
s.license = 'IVCS'
|
||||||
s.summary = 'Окно ввода ID мероприятия'
|
s.summary = 'Ввод ID мероприятия'
|
||||||
s.homepage = 'IVCS'
|
s.homepage = 'IVCS'
|
||||||
s.author = 'IVCS'
|
s.author = 'IVCS'
|
||||||
s.source = { :git => 'https://fake.com/FAKE.git', :tag => s.version }
|
s.source = { :git => 'https://fake.com/FAKE.git', :tag => s.version }
|
||||||
|
|||||||
115
Modules/MeetupIdX/src/MeetupId.Generated.swift
Normal file
115
Modules/MeetupIdX/src/MeetupId.Generated.swift
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
// ВНИМАНИЕ Сгенерировано автоматом из файла MeetupId.yml
|
||||||
|
// ВНИМАНИЕ Не менять руками!
|
||||||
|
|
||||||
|
import BusX
|
||||||
|
import Combine
|
||||||
|
import CordX
|
||||||
|
import Foundation
|
||||||
|
import UIKit
|
||||||
|
|
||||||
|
// MARK: - Context
|
||||||
|
|
||||||
|
public protocol MeetupIdContext {
|
||||||
|
var textApp: MPAK.Recent<String> { get }
|
||||||
|
var textUI: MPAK.Recent<String> { get }
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: - Controller
|
||||||
|
|
||||||
|
extension MeetupId {
|
||||||
|
final class Controller: MPAK.Controller<MeetupId.Model> {
|
||||||
|
init() {
|
||||||
|
super.init(
|
||||||
|
MeetupId.Model(),
|
||||||
|
debugClassName: "MeetupICtrl",
|
||||||
|
debugLog: { aelog($0) }
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// MARK: - Model
|
||||||
|
|
||||||
|
public struct Model: MeetupIdContext {
|
||||||
|
public var textApp: MPAK.Recent<String> = .init("")
|
||||||
|
public var textUI: MPAK.Recent<String> = .init("")
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: - Service
|
||||||
|
|
||||||
|
public final class Service {
|
||||||
|
let ctrl = Controller()
|
||||||
|
let world: World
|
||||||
|
|
||||||
|
var subscriptions = [AnyCancellable]()
|
||||||
|
static private(set) weak var singleton: Service?
|
||||||
|
|
||||||
|
public init(_ world: World) {
|
||||||
|
self.world = world
|
||||||
|
Self.singleton = self
|
||||||
|
SectionGenerated.setupPlatform(ctrl, self, world)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: - World
|
||||||
|
|
||||||
|
public struct World {
|
||||||
|
let textApp = PassthroughSubject<String, Never>()
|
||||||
|
let textUI = PassthroughSubject<String, Never>()
|
||||||
|
|
||||||
|
public init(
|
||||||
|
|
||||||
|
) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
enum SectionGenerated {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// MARK: - SectionGenerated Service
|
||||||
|
|
||||||
|
static func setupPlatform(
|
||||||
|
_ ctrl: Controller,
|
||||||
|
_ service: Service,
|
||||||
|
_ world: World
|
||||||
|
) {
|
||||||
|
// MARK: - SectionGenerated Service Actions
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// MARK: - SectionGenerated Service Pipes
|
||||||
|
|
||||||
|
ctrl.pipeValue(
|
||||||
|
dbg: "textA",
|
||||||
|
sub: nil,
|
||||||
|
K.meetupIdTextApp.eraseToAnyPublisher(),
|
||||||
|
{
|
||||||
|
$0.textApp.value = $1
|
||||||
|
$0.textApp.isRecent = true
|
||||||
|
},
|
||||||
|
{ m, _ in m.textApp.isRecent = false }
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ctrl.pipeValue(
|
||||||
|
dbg: "textUI",
|
||||||
|
sub: nil,
|
||||||
|
K.meetupIdTextUI.eraseToAnyPublisher(),
|
||||||
|
{
|
||||||
|
$0.textUI.value = $1
|
||||||
|
$0.textUI.isRecent = true
|
||||||
|
},
|
||||||
|
{ m, _ in m.textUI.isRecent = false }
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,6 +4,9 @@ def generateImports(c):
|
|||||||
if c.path != c.module:
|
if c.path != c.module:
|
||||||
parent = c.path.split("/")[0]
|
parent = c.path.split("/")[0]
|
||||||
fileName = fileName.replace(f"{c.module}/src/../{c.module}", parent)
|
fileName = fileName.replace(f"{c.module}/src/../{c.module}", parent)
|
||||||
|
# Для обычного модуля с окончание X учитываем такое же название podspec.
|
||||||
|
if c.path[-1] == "X":
|
||||||
|
fileName = fileName.replace(f"{c.module}.podspec", f"{c.module}X.podspec")
|
||||||
lines = c.readFile(fileName)
|
lines = c.readFile(fileName)
|
||||||
items = ["Combine", "Foundation", "UIKit"]
|
items = ["Combine", "Foundation", "UIKit"]
|
||||||
|
|
||||||
|
|||||||
@@ -1,168 +1 @@
|
|||||||
ADFSRedirection
|
MeetupIdX
|
||||||
|
|
||||||
ApiHostSave
|
|
||||||
|
|
||||||
C4
|
|
||||||
C4/C4Ava
|
|
||||||
C4/C4Attributes
|
|
||||||
C4/C4Call
|
|
||||||
C4/C4Canvas
|
|
||||||
C4/C4Cleanup
|
|
||||||
C4/C4Content
|
|
||||||
C4/C4Data
|
|
||||||
C4/C4Date
|
|
||||||
C4/C4DeleteChat
|
|
||||||
C4/C4Empty
|
|
||||||
C4/C4FastScrollBtn
|
|
||||||
C4/C4FeatureToggle
|
|
||||||
C4/C4Group
|
|
||||||
C4/C4LastMessage
|
|
||||||
C4/C4LeaveChat
|
|
||||||
C4/C4Navigation
|
|
||||||
C4/C4NotificationStatus
|
|
||||||
C4/C4QuickActions
|
|
||||||
C4/C4Paging
|
|
||||||
C4/C4Reload
|
|
||||||
C4/C4Sorting
|
|
||||||
C4/C4Status
|
|
||||||
C4/C4SetNotifications
|
|
||||||
C4/C4TextInputSearch
|
|
||||||
C4/C4TextInputSearchCanvas
|
|
||||||
C4/C4Title
|
|
||||||
C4/C4Typing
|
|
||||||
C4/C4Unread
|
|
||||||
|
|
||||||
C4/C4SearchAttributes
|
|
||||||
C4/C4SearchContent
|
|
||||||
C4/C4SearchData
|
|
||||||
C4/C4SearchEmpty
|
|
||||||
C4/C4SearchPaging
|
|
||||||
C4/C4SearchSorting
|
|
||||||
|
|
||||||
ChatCallError
|
|
||||||
ChatsAccessVerification
|
|
||||||
ChatTitle
|
|
||||||
ConnectionStatus
|
|
||||||
IPC
|
|
||||||
Login/LoginGodActivity
|
|
||||||
Login/LoginStart
|
|
||||||
LoginADFSAuth
|
|
||||||
LoginADFSButtons
|
|
||||||
LoginADFSProviders
|
|
||||||
LoginADFSWebViewControlPanel
|
|
||||||
LoginADFSWebView
|
|
||||||
LoginMeetupId
|
|
||||||
LoginMeetupIdBtn
|
|
||||||
LoginHost
|
|
||||||
M5Buttons
|
|
||||||
|
|
||||||
M5I/M5ICanvas
|
|
||||||
M5I/M5ICloseBtn
|
|
||||||
M5I/M5IConferenceType
|
|
||||||
M5I/M5IConferenceNumber
|
|
||||||
M5I/M5IData
|
|
||||||
M5I/M5IDeleteBtn
|
|
||||||
M5I/M5IDescription
|
|
||||||
M5I/M5IDetails
|
|
||||||
M5I/M5IError
|
|
||||||
M5I/M5IGuestLink
|
|
||||||
M5I/M5IInviteResponseBtn
|
|
||||||
M5I/M5IJoinBtn
|
|
||||||
M5I/M5IJoinInfo
|
|
||||||
M5I/M5ILinksBtn
|
|
||||||
M5I/M5ILoading
|
|
||||||
M5I/M5IMenu
|
|
||||||
M5I/M5IReload
|
|
||||||
M5I/M5IStatus
|
|
||||||
M5I/M5IStatusAddon
|
|
||||||
M5I/M5ITitle
|
|
||||||
M5I/M5IType
|
|
||||||
M5I/M5ITypeName
|
|
||||||
M5I/M5ITypeUpdate
|
|
||||||
|
|
||||||
M5ILinks/M5ILinksCanvas
|
|
||||||
M5ILinks/M5ILinksCloseBtn
|
|
||||||
M5ILinks/M5ILinksJoinByGuest
|
|
||||||
M5ILinks/M5ILinksJoinByID
|
|
||||||
M5ILinks/M5ILinksJoinByModerator
|
|
||||||
M5ILinks/M5ILinksJoinByPhone
|
|
||||||
M5ILinks/M5ILinksJoinBySpeaker
|
|
||||||
M5ILinks/M5ILinksJoinByVvoip
|
|
||||||
|
|
||||||
M5IPush/M5IPushExitAlert
|
|
||||||
M5IPush/M5IPushNavigation
|
|
||||||
|
|
||||||
M5IUsers/M5IUsersAttributes
|
|
||||||
M5IUsers/M5IUsersAva
|
|
||||||
M5IUsers/M5IUsersData
|
|
||||||
M5IUsers/M5IUsersCleanup
|
|
||||||
M5IUsers/M5IUsersContent
|
|
||||||
M5IUsers/M5IUsersCount
|
|
||||||
M5IUsers/M5IUsersCountOnline
|
|
||||||
M5IUsers/M5IUsersInvitation
|
|
||||||
M5IUsers/M5IUsersLoading
|
|
||||||
M5IUsers/M5IUsersLoadingError
|
|
||||||
M5IUsers/M5IUsersPaging
|
|
||||||
M5IUsers/M5IUsersReload
|
|
||||||
M5IUsers/M5IUsersRole
|
|
||||||
M5IUsers/M5IUsersSorting
|
|
||||||
M5IUsers/M5IUsersTitle
|
|
||||||
M5IUsers/M5IUsersType
|
|
||||||
|
|
||||||
M5ChatParticipantOnline
|
|
||||||
|
|
||||||
M5Media/M5MediaData
|
|
||||||
M5Media/M5MediaAttributes
|
|
||||||
M5Media/M5MediaStatus
|
|
||||||
M5Media/M5PresentationInfo
|
|
||||||
M5Media/M5ScreenShare
|
|
||||||
M5Media/M5SpeakerInfo
|
|
||||||
M5Media/M5Streaming
|
|
||||||
M5Media/M5VideoQuality
|
|
||||||
|
|
||||||
M5Typing
|
|
||||||
|
|
||||||
MeetupCallLogoutAlert
|
|
||||||
|
|
||||||
MeetupLink/MeetupLinkSpinner
|
|
||||||
MeetupGoToAnotherMeetupLink
|
|
||||||
MeetupLinkApiHostRollback
|
|
||||||
MeetupLinkLaunch
|
|
||||||
|
|
||||||
Meetups/MeetupsAttributes
|
|
||||||
Meetups/MeetupsData
|
|
||||||
Meetups/MeetupsEmpty
|
|
||||||
Meetups/MeetupsPaging
|
|
||||||
|
|
||||||
Ori
|
|
||||||
|
|
||||||
Password
|
|
||||||
PasswordCanvas
|
|
||||||
PasswordFeatureToggle
|
|
||||||
|
|
||||||
ProtoM5Files
|
|
||||||
|
|
||||||
Rooms
|
|
||||||
RoomsAttributes
|
|
||||||
RoomsAva
|
|
||||||
RoomsCanvas
|
|
||||||
RoomsCleanup
|
|
||||||
RoomsData
|
|
||||||
RoomsDuration
|
|
||||||
RoomsEmpty
|
|
||||||
RoomsJoinBtn
|
|
||||||
RoomsLastDate
|
|
||||||
RoomsOrganizer
|
|
||||||
RoomsPages
|
|
||||||
RoomsReload
|
|
||||||
RoomsSorting
|
|
||||||
RoomsTitle
|
|
||||||
RoomsUsers
|
|
||||||
|
|
||||||
S5Panel/S5PanelMeetups
|
|
||||||
S5Panel/S5PanelRooms
|
|
||||||
|
|
||||||
SystemInfo
|
|
||||||
TimeDistance
|
|
||||||
Toast
|
|
||||||
WindowPriority
|
|
||||||
|
|||||||
@@ -3,5 +3,8 @@ def modulePaths(name):
|
|||||||
if len(parts) == 2:
|
if len(parts) == 2:
|
||||||
return (name, parts[1])
|
return (name, parts[1])
|
||||||
else:
|
else:
|
||||||
return (name, name)
|
module = name
|
||||||
|
if name[-1] == "X":
|
||||||
|
module = name[:-1]
|
||||||
|
return (name, module)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user